{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "([1.4790482779731475, 0.44463939623560345, 0.7982635907763361], '9s', 279)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c772150>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 72\n",
      "Dollar per trade: -3.88402777778e-05\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c772bd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 83\n",
      "Dollar per trade: -8.0186746988e-05\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEKCAYAAADn+anLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFOW59/HvzSoIAu4KCgiKuABiFFwSxyWC4nFfcDmKHqPRRI0aFRNzwO2NxmiUuOQkijvuRjEiKuq4RVBUIgIqIKCC4IIgyiLDPO8fT5VV3dPd0z3T68zvc11zVXV1ddVTUzN197Obcw4REZFUWpQ6ASIiUr4UJEREJC0FCRERSUtBQkRE0lKQEBGRtBQkREQkLQUJKRtmtp6ZPWVmy8zsoVKnR0QUJCRLZjbfzFaa2bdm9rmZjTWz9ll8rruZ1ZpZNn9rRwObAF2cc8flIc37BOf+a9L2V83sZDMbbGbfmdn6KT77jpmdHUv/t7FrH29mB6Q5Z7WZLTWz1o1Nf33M7BQzqwnStSxI87DY+x3N7EYzWxDs85GZ3WBmG5YqzVJ5FCQkWw4Y5pzbABgI7AZclsNns9Ed+Mg1oIenmbVM89b3wMlmtnWdRDk3GfgUOCrpWDsBfYFx4a5Ap+Da+wOTgH+a2clJn+sO7A3UAofmeg0N9G/n3AbOuc7AWOBhM+scPPBfDK7jwCDtewJfA7uXOM1SQRQkJBcG4Jz7HHgG2AnAzF4ysyvM7LXgG+vE5G+r9R7YbDTwv8Dw4BinmndZkItZbGZ3mdkGwf7hN/zTzGwB8EKaQy8D7gJGp3n/HuDkpG3/DTztnFuW4tq/cM6NCY53bdLnTgbeCM43IsO1HmdmbyVtO9/MngjWDzazGcHv4VMzuyDdsZKMBdoB2wCnAN2Aw51zHwZp/8o5d7VzbmKuaZbmS0FCcmZmWwEHA+/ENh+PfzBtArQFfpvLMZ1zo4H/BzwYfDO+EzgV/xDbB//g6wjcnPTRnwHbA0PSHRq4GjjKzLZN8f69wE/NrFtwbQacANxdT5IfBzY1sz6xbScD9+FzIEPMbJM0nx0PbGdmvWLbjgfuD9ZvB34RfPvfCZ8jyMjMWgG/AFYAs4H9gYnOuVX1fDTbNEszpSAhuXjCzJYCrwAvAX+MvXenc26uc24N8DAwIA/nOwG4wTm3wDm3ErgUn9MI/24dMMo5tyo4b0rOuS+AvwFXpHjvs+B6Tgo2HYAPchPqSdsifO5iQwAz2xvYGnjYOfcOMCdIf6r0rAKexAcGguDVBx88AH4AdjSzjs655c65aRnSsUdwTxYBx+FzDiuAjYDPM11ALmmW5ktBQnJxmHNuQ+dcT+fcOUkP5sWx9ZVAhzycb0tgQez1AqAVsFls22dZHuta/Dflfineu5uoyOkkYJxzbl09x+saLJcGy5OB55xz3wSvH8DnrNJ5gCBI4B/MT8R+n0cBw4AFQVHe4AzHeSO4J5s65/Z0zr0UbP8a2KKea8g1zdIMtSp1AqSiWJHPtwhfmR3qDqwFlgBbBduyquR2zi01sxuBK1N85nHgFjOrAo7EF2/V50hgiXPuQzNbDzgWaGFm4bf3NkBnM9vZOTc9xeefAzY2s/7AcOA3sbS+DRweVMafg8+Z1al4r8ck4Eoza5eqyKmBaZZmSDkJKQYD1jOztrGfbALOA8D5ZtbDzDrg6xYedM7Vxo6bi7/gW/j0jW8MirIeA+4E5gdFL8npNwAz29TMfg38ARgZvH8EUBMct3/w0xd4lTTfzIOcyqPAdUAX4Png+K3N7AQz2yDYZ0Vw7Fzdi2+59ZiZ9QkaAWxkZpea2dCGpFmaJwUJyVamb+z1fZt3+IfdSmBVsNw3i3OOxT/sXgHmBp87N4fzJibCl9X/iaAeIcnd+G/rqSqsHfCNma0A3gOGAkc758J9TwbGOucWBq2fvgjqQW4BTrD0fUQewFcwPxwLfOBbV80zs2XAGcCJuVwngHPuB3z9ygf4ALQcmIyvq5jSiDRLM2PZNkk3s7b4f9Y2+GKqR51zl5tZD+BB/Lehd4D/ds7VmFkbfPPCXYGvgOOcc5/k/QpERKRgsv62EFSq7euc2wXfcuUgMxuErxC83jnXB98m/X+Cj/wPsNQ5ty1wI/4bnIiIVJCcspRB2S34JoKt8NnwffHlueCz6ocH64cRZd0fxWerRUSkguQUJMyshZm9i2/u+Dy+nHhZrDz1M6KmgV3xFWdhJd2yXHvhiohIaeWak6gNipu64cd/6Ztqt2CZ3PLEyLGiUURESqtB/SScc9+a2cvAYHy76hZBbqIbvm07+FzFVsCioL33BrFOOz8yMwUOEZEGcM4VvO9S1jkJM9vYzDoF6+3wzetm4odnOCbY7RT8cAPghxgI21sfQ4bxZ5xzTfZn1KhRJU+Drk/X19yurTlcX7HkkpPYArg7aD/dAnjIOTfBzGYBD5rZlcC7wB3B/ncA95rZbPwQAcPzmG4RESmCrIOE8930B6bYPg8YlGL7Gny3fxERqVDqVVlgVVVVpU5CQen6KldTvjZo+tdXLFn3uC5YAsxcqdMgIlJpzAxXThXXIiLS/ChIiIhIWgoSIiKSloKEiIikpSAhUgHGjYNpmWa6FikQtW4SKQOLF0OXLtC2ber3zWDffeHFtOMWSHOj1k0izcgWW8CRR6Z+b+pUv1yzpnjpEQkpJyFSArW14JzPIZhBixZ+WVubuN+6ddAqNi6C/lUkpJyESBN1++3QsiW0bu2XLYL/wlQB4L33ips2kWTKSYgU0Msvw5lnwtCh8Pvfwyab+BwDwIIFsPXWPjiEgeKAA6Jg4ZwPEl99FR1P/yoSKlZOokHzSYhIdiZOhA8/9D833eRfhzp29EszWLEC/v3v6HW4/OtfYfz44qZZJE45CZE8M4M5c6BXr+iBn0pNjS9uyuTSS+Gaa6LX+leRkOokRCpYv35wxhl1t9fWwl57+fX6AgRAmzb5TZdIrlTcJJJH4Tf944+Hn/wE3noLvv8eZs/2283g/vvh/fezO96//lX3+JlyJyL5puImkTxavRratatbLBQ+2HP9Ux8wAP7zn+j1T38aHevQQ+HCCxueVqlsKm4SqUDz56fevnw5fPll7sc75pjE11deCVdcAUOGQHV17scTyZWKm0TyZNUqGDMm9XsbbNCwYw4f7pvK/uMf/vU++/jlihXw+usNO6ZILpSTEMmTI46A227L7zF79YK//73u9pYt6/bOFikEBQmRPDCDZ5+FQYMKc/zrrkt83aKFH7JDpNBU3CSSR3PmwGab5f+4Rx2V2CJKOQkpFuUkRPLo0EP9sN/51rMn3HVX9Lq2Fl54If/nEUmWdZAws25m9qKZzTSz6WZ2TrB9lJl9ZmbvBD9DY5+51Mxmm9ksMzuwEBcgUminnQbnnlt3+9tv+0pl8GMuAZx/fnHSpGHDpVhyKW6qAS5wzk0zsw7A22b2fPDeDc65G+I7m1lf4FigL9ANmGRm26pThFSaO+/0y+SWSz/5CWy4IXz9ta8fmDQJdt65OGkKBwSsqUkcSlwk37LOSTjnFjvnpgXr3wGzgK7B26k6dBwGPOicq3HOzQdmA7s3LrkipfPhh1FHtnAI76VL/fKll2Du3OKnSTkKKbQG1UmYWQ9gADAl2PQrM5tmZrebWadgW1fg09jHFhIFFZGKs/32fmkG/ftH29991w8BvttuxU9TTU3xzynNS84Z1aCo6VHgPOfcd2Z2K3CFc86Z2VXA9cDppM5dpCxqGj169I/rVVVVVFVV5ZoskZI59VQ//ejWWxfvnGHzVwWJ5qO6uprqEnSzz2nsJjNrBfwLeMY5d1OK97sDTznn+pnZSMA5564N3psIjHLOTUn6jKoppKzVN6BeKf58n3wSDj/ct6QqRJNbyd2KFb5+qF274pyvXMduGgvMjAcIM9s89v6RQNiaezww3MzamFlPoDfwZmMSKyLekCF+qZxEaTnnGy4A9O4N7dv7LxXjxpU2XfmUSxPYvYATgf3M7N1Yc9c/mdl7ZjYN2Ac4H8A5NxN4GJgJTADOVpZBKlGPHvDxx6nfe+WVoiblR+utB5tvDmvXlub84t10E2y8MWyzDXzxRbT9//6vdGnKNw0VLpLGunV+4qBnn/VTi3bvXnefUhb3mPlxnX7xi9Kcvzn74Qffsm2LLfzrSy7xgy/uuSd07uy3FfqxVq7FTSLNxvffw9ixsHChX0/1T7/ppsVPV9ySJaU9f3P1hz9EAQLgl7+Egw6CTp3Sf6ZSKUiIpBEfQC9d5XWpZ4n7wx/gkUdKm4bmaObMxNfFbNlWbAoSImlMnhytb7lltD5sGCxb5vtHlINjjy11Ckpv9Wo/90Y+pZpAavly/8UgPq3sqadGPeABFi3yyzFjYMoUP4Xt1Kn+7+WHH/KbxmJQnYRIGvFcQvgnagZ33OHHcyq1VOlrrmbPhu22a9zvwTmfewyHOTHzOYa+faN9Jk70xUpxS5dCly6JrzfayK/vvrsfjNE53/jhttvguOMansY41UmIlKETT4T99y91KvLj8cfhnnui1ytXwpln+hZTy5ZFRSrNZd6K446D1q3h1lujyaOSixNT/S7iAQL8eF7gcx3xnETbtr4hRNgfzgymT8/rJRSEgoRIkrVrfYumVO67L3Urp1I4/vj07z3/vP9Gm64fxapVfo6KU07xDzKADz7wraXOOcc/+HbcET7/vLwGEAy/7RfC7Nl++fvfR2NzPfWUX77+uh/1N2zJduSR9aczecraxYvh229h332jbcl1G+VIQUIkyRtvwNCh0evYqDFl5dNPU68DHHigL/Jo3Rq6dvVFMTvvDH36+G+w7dtH+w4e7OfB2HVX/zpeF3PvvX65fHlhriFXl1+eOWgNGgR/+UvDjj1woF++/HKUk7j4Yj8K8N57+1F/w34pI0c27BzJLroIDjkk8ed//ic/x84X1UmIxKxdC23a+N6z224LV10VPTzKTXJRSPzfyAxuv90P3bFihR8tds0a+O47v9/AgVGgOPxwX/l62GHpz/X++z5nUWrDhsGECXXrHj76yAfAUEMeKeHvM17/BDBiRDTh0zbb+LqF11+HvfbyubDdsxzbettt/cyF4TnMfADaeONon+++8znEwYPhn//0HSbTp7c4dRJllJEUKb1ly/xyzpyo+KES7bCD/1a90UZRJWo6w4f7nMSNN8JvflOc9DVUOARG+JANFaIp8ksvwU47+Yf48OG+tdKECf69cOrYXEb+feMNH1QOOcS/7tjRF1vFi6W++84vJ0+G9ddv/DXkg4KESEypO8fly8yZ2c81ETbfPO88X9Tyu9/5StZ+/aJ92rTJfxobIqw/adHCV7o7538++CC346xY4etbttsucXt8Yqn4YNRDhvifESPg7rt9rqV//9yC08YbRzmJk07yaUj+vYaBYdgwH0TKgYqbRGIqqVnpdtsl5naSi5uSm28mC6916tSoPiL0yit+mInQiBHRDH2lFL8/J57oX7do4SvqP/88eq++e3fBBb7uYsAAnyuorfW/y6lTfe4hnVWrfG4z3ts6F++8k/i7rqmBli0T93n9dV/clLw9WbGKmxQkRALOJXaKKvc/y/XX981WQ19+GZVvb7SRL6fPVNRkBmefDbfcUve9Rx7xnfTefRd22cVvK4ffR7ogftllcPXVqd9L5b774Mor4cEH/T1v0cJ/q99uu8L2ol+9OnEo8cb8TtVPQiRPnnnGf9PM5L33EgNEJVi9OvH1I4/4Jqwff+ybv9ZXRPTQQ75oKZVDD/UV1QMGpH7fufwMBzJ1KryZhwkEfvYzv5w82bd+ev31+j/zk5/4ANi/f2LLr0Iql2K7XCgnIU1ecquVTPvElfuf5Q8/+KGqL744cfvhh8MTT/gg0rZt488T/m5WrfJ9FNat8w/W+fP9AIONqcfp2tUPYzFnDvTqlX6/mhrfnDcu1f2JF+dkun933w0vvJDYmbBYwulv//Mf5SREKlYljObZpg2cdVbd7eH4QPn+1tqpk5/Lu2vXaFyjXMYiCiuZ4776yi9798782bB/QtgH4qSTUu/30UfReqaxtdatq7/Mv5AmTIA//7l058+FgoQ0aeFga7mYOhXmzs1/WgqhQ4e628L5DPJVdBI+3Nes8XUgK1ZE72Xbggp8+//kPifZDnES9rIO+3KEnfyShU1IIQpA6Y5XqiDhnB8w8sILS3P+XClISJM2alRu+590ki+uqK9vQTlJHq103LjizbP8xhvZ7/vQQzBtWuK2Z57J7rPh8CJbbunrXdLp0SNaTx5TKa7UOYlKoiAhTdq338JWW8HRR2feLyy+CIdjqCSpxpJataqw59xqK7+MP5Tj3n4bxo/P7lgbbph5ZNTPP4enn/bFZ23bZp6JL6zX2G23zGM8nXVW5mAjEXWmkybt+ef9lJKpimXivvrKt26qbz/xRo2C00+vW6RTVeU75IUyVcyGzXd79PC5jN69U8/Z/ec/+34M2UwTu956ftmyZfMZvbbQlJOQJmfMGF88MX48fPON/xaa6YHhnJ8nID7onWQWDkKXPOFRPECAL3c/7zz41a+ibX/4A1xxRdS7OOwEd/XVPleR/LPnnv79bEaj3WIL36ormyDRtWv9xxPlJKQJOu88P4RCWMnZoUPmB0bYQide6SnZSf7mf8op0LNnNHJu27a+aKp1azjiCD9o3ZNP+n4YodNOizrCXXJJ3XP06+d7SGdbhNa2rQ8SQ4bAggW+RVay3r3TV35LIgUJaVLCwdLeeivadtZZcN11/sFw+eV1P3PiidF+krunn46KlV5+ObEF08UXR62tzjjD1yvcdZffJwwMYU4hnRYtfCuqXOa1eOUVv5w3L3WQaNu2fAbQK3fqTCdNxsqV0T9+jx5Rq5/27aPy71R/amFT0WuvrdsxrVKEw2iE2rVLHLKjEE44AR54AA4+2L828wEjbtWqqJ4gHIa9ttbve+utvhgqPqJrqvszaZIfO6pDh+wH8ss0BtcXX/j6jVmzYPvtszteOSq7ocLNrBtwD7A5sA74h3NujJl1AR4CugPzgWOdc8uDz4wBDgK+B0Y456alOrZIPsQn3nnrregb5KGH+jF66nP66YVJVzEkPwj32KPw5xw3Du6/P/GB/NOf+nGUhg71PbHDAAE+J3DLLdH+Rx/tW59B5gd2ixa+KHDhwoal84ILEl+HHfLKaca9cpZLxXUNcIFzbgdgD+BXZrY9MBKY5JzrA7wIXApgZgcBvZxz2wJnAn/La8pFMgiLOCD7YqRwbuJKFB/iupiSO+y9+qqvCxgzxg8Nkrzv2WdHrzfdNJrhLdM3+pYtc58ZLx40u3VL/AnFR42V9LKOpc65xcDiYP07M5sFdAMOA8JBhe8GXsIHjsPwOQ+cc1PMrJOZbeacW5LH9Iv8KP7Ain9LjDedrKlpmt8gw2K2c86Bv/619M0/zzknf8dqbKe35JzE6tV+HuvkuSQktQb9u5hZD2AAMBn48cHvnFtsZuFwX12B+My7C4NtChJSEMlFLjNn1u3hu3p10+wLEfYuDieqSW6KWsnC0Xn33jv3z6Zq5vrrX/vK8mz6XUgDgoSZdQAeBc4LchTpap1TVaik3Hd0bKb5qqoqquJTQokkMfODt6UbxjrUt6//iQ/09u9/+7GHjjjCP3w++yw6ZiXbbz/fIa1zZ7j55swT51Sa8P41JAcY1j/EbbBB4qxzlaK6uprq6urin9g5l/UPPqhMxAeIcNssfG4CfKX2rGD9b8Bxsf0+CPdLOqYTydaMGX64ufvvr/vejjv697bdNnH7mjXhEHXOtWjhlxdd5NywYdH2m24qTvoL5eab/XXU1JQ6JfkX3qP998/tcwMGODdvXkGSVBaCZ2dOz/CG/OTa43osMNM5d1Ns23hgRLA+Angytv1kADMbDCxzqo+QRgorMJMrMhcuhBkz/PpddyW+16aNb0UzdarvzAV+2Ot4c81zzy1Icosm7BDYFAetu//+hn3u3XfTjy0l2culCexewInAdDN7F1909DvgWuBhMzsN+AQ4BsA5N8HMDjazOfgmsKfmO/HS/ITFQslB4qGHovVUnbM6dvSju4YT0jz7bGHSVyr9+pU6BYWz115++cILpU1Hc5VL66bXgXTfUw5I85lfNyRRIumE7e6T5zFINRJqJq++mp/0lIv99y//mfSkMmmAP6ko4YPwnXfgxRf9zwsvwJdfZn+MM87wQ1kfc0xh0ij5Fc4lIaWhYTmkovztb75zXL9+vvNbWPxk5gMG5PaNOpv5r6W0Fi6MOsHpPkXKblgOkXIQ9sydNq1us9WGNmPNZ8cvyT8N6V1aKm6SipTPfg2HH56/Y0nh9O9f6hQ0TwoSUlFat/ZNWtN5/PHcj6kijMowe3apU9A8qbhJKkpNDQwenPq9hj7s27VreHqkeHbYodQpaJ4UJKSirF2b3wH65s71M6lJ+Rs2rNQpaJ4UJKSiTJoUtWLKh222yd+xpLCOOKLUKWie1ARWKoqarIp4xWoCq4prERFJS0FCRETSUpCQinLooaVOgUjzooprqShVVWqNJFJMyklIRVm3rmnOmSBSrhQkpKIoSIgUl5rASkXp2xe+/hq++KLUKREprWI1gVWQkIqifhIinoYKF0nhd7+D9u1LnQqR5kN1ElJRampUJyFSTAoSUlFUcS1SXAoSUlEUJESKS0FCKoqChEhxKUhIRampye98EiKSWdZBwszuMLMlZvZebNsoM/vMzN4JfobG3rvUzGab2SwzOzDfCZfmSTkJkeLKJSdxJzAkxfYbnHMDg5+JAGbWFzgW6AscBNxqls+p66W5UpAQKa6sg4Rz7jXgmxRvpXr4HwY86Jyrcc7NB2YDuzcohSIxChIixZWPOolfmdk0M7vdzDoF27oCn8b2WRhsE2kUBQmR4mpsFeCtwBXOOWdmVwHXA6eTOneRdiCF0aNH/7heVVVFVVVVI5MlTdW990K3bqVOhUjxVVdXU11dXfTz5jR2k5l1B55yzvXL9J6ZjQScc+7a4L2JwCjn3JQUn9PYTZKV6dOhX/CXpz8Zae7KdY5rI5ZLMLPNY+8dCbwfrI8HhptZGzPrCfQG3mxMQkWef94vBw8ubTpEmpOsi5vMbBxQBWxkZp8Ao4B9zWwAUAvMB84EcM7NNLOHgZnAWuBsZRckXxQkRIon6yDhnDshxeY7M+z/R+CPDUmUSCrLlvnlz35W2nSINCeaT0IqRtjTZskS2HTT0qZFpNTKtU5CKsCbb8KKFaVORX6F9REAnTql309E8ks5iSbIDC68EP7858Icf9ky6Ny5MMdOJ95fX38uIspJSCN9/320vuGGMG1afo47ZQp06ZKfY4lI+dN4mk3MQw/55eTJMGGCX//mG/9wHzCg8cdfubLxxxCRyqHipiYmXixz0EE+R/HKK/51Q37NO+0EBx8Mf/qTf/3mmzBoUPGLfMLrOvtsuOWW4p5bpBypuEka5c03fU7izrSNlBNdeql/EL+Z1OVxxgy47rrodbt2flmquN5Cf7EiRaV/uSYqnJgnmwl6li6Fa67x64MGZX4Qf/yxX06d2rj0xa1enX3Q0eB+IsWlINFEhQ/TbL55n3tutN6rF+y6q19PNQPIp8HYvv/4R8PStc02MHNm4rZ27WDs2Ow+ryAhUlwKEk3EypWJTV7DHET8Qb92berPrloVrY8albmj2i67+GV8aIz+/f151q2rP53z5sGOO0L79rD++tChg98+f379nwW44Ybs9hOR/FDrpiZi/Hi46CJfXDRlSupipjZt4JJL6m5//PFovUMHP490stGj/c8//+lfX3GFH5F1yRJ4L5jQdtq0KBcSN2cO/Pa38MQT/vUHH/jhvp3zP0cfnZ+WVyKSf8pJNBGtW/tl2NM6DBIbbBDt07Kl7wSX/NO/v3//xBOhY0ef41i9OvH4l1/ul9df75cLFsAvfwmHHBLtM3Jk6rQNHAhPPgknBKN/9egR5SI6dvRpCHM58+blfOkiUkDKSRTJtdfCiBGw2WaFOf6aNX4ZFi+Fy44d/Tf53r3hpJNSP8g7dfJNS++7D555Bl56KWrFFJfcR2LqVKiuhn339a8nTUqdtu7d4f334YEH/Ou2bRPfb9XK516+/dbXWahFtEj5UE6iSEaOhNtuK9zxN9rIL994wy9TFRn17Zv6s4cdFuUQMo351DXFBLRvvZX42gzOOCNxW786U1Qlat3apzdVmpNtsUX9+4hI/ihIFFH79oU7dsuWsN9+qVv/LF3ql2GxUrItt4QLLoiOk044VHdcqqAyfnzi63Hj/LK2Fr7+uu7+rVr54qZ0OYja2mj988/Tp09E8k9BokA++SQq8gkfcsuXF+58NTX+G3kYiOIP3PXW88t0QSIuPuZTNvbbL/H1+ef7CvRQvDOfmR9HKllY3JQuSHz4YW5pEpH8UZAokBtvjNZnz/bLrbYq3PnWrk1s0bTJJtF6WESTTce6//ov/6DPZI89/CizAFVVcNllfv3VV30Lqh9+iPY97bT6zxkWNyUHia+/9hXo6ZruikjhKUgUSFjx27cvbL+9Xy9kR7A1a6KHrHOJI7VuvHH2x+nSpf6+COuvn9gnY/RoX4m9996+R/bvfpf9+cAHr5kz4dFHE7cPHep/j/EcUHyIEBEpPAWJAgkf2I89FvVOTq7Qzafjj49Gfa0vTbmK5wzAD/gX17Jl1D/ikUdyP/fee/sWWH//e+L2nXaCm2/2rarmzIGvvorqTkSkONQEtkDCCt0ddoA+feAXvyjs+bJpGdSQwfG++SbqgxHaYYf6P7dunQ8el11Wf3HRUUf5n9raxCIx53yupV07P1yIiBSfchIFEq/QLYfxhj74ILdip1A4A108h5CpGWo4teinn/ocyNdf+3qKbJgl5jhqazXqq0ip6V+wQNq0SSyWefVVv9x778Kcb8QI3wM6nT59Gnf8o4+O1jP1ewgHC+zZ0/eovu02uPLK7M4RtgYLA0VtbepBBkWkeBQkCmTWrMQ6grC10euvN/yY33+fvqhnww3Lo0jmiiv88vXX69ZlZCvMPTinnIRIqWX9L2hmd5jZEjN7L7ati5k9Z2YfmtmzZtYp9t4YM5ttZtPMrNkN3/bgg4nSAPzvAAAR/UlEQVSvsy1yyeTzz33wSeXbb+vWHZSKc7Dnnn593brEznC5UHGTSOnlUnF9J/BX4J7YtpHAJOfcn8zsEuBSYKSZHQT0cs5ta2aDgL8Bg+scsQk76yx47bXodTxIhE1EzRLHWkpe/8c//EB6YWVupqG4b7/dj9N03nn5u4Z8aMxDXkFCpPSy/hd0zr0GfJO0+TDg7mD97uB1uP2e4HNTgE5mVqCh7cqPGZx+etTTGRKDxPrrR6122rb1P61b+wruli2juRkWLYom+QFYuDD9ObfeGv73f/N/LXF33FHY48ctXqw6CZFy0NgmsJs655YAOOcWm1k4XU1XIPZ4Y2GwbUkjz1dR4oEhPhzF739f/2fXrYOrrkosqgkrdJcti1odhXbd1Y+gmk+DBiW+Pu207HpQ58Nrr6lOQqQcFKqfRKrvf2m7U40ePfrH9aqqKqqqqvKfohIYMwZuusmv59oMNnw4xr9Jd+zol7Nnw267Je6fPCxHPsTnoii2adNU3CQSV11dTXV1ddHP29jHyhIz28w5t8TMNge+CLZ/BsRHKuoGLEp3kHiQaEpS9UvItglsPDgMHux7I4d1EosW+ZFd47mTcIC/fJk9O/VgfMXSurXvZZ1NJ0GR5iD5C/Tl4UxgBZbr9zQjMZcwHhgRrI8AnoxtPxnAzAYDy8JiqeYgLPYZMaLue7/9bW7Hcc5PR3r55VGQOPzwaP6IUL5zEr17lzZI9OgB06cnjhElIsWXSxPYccC/ge3M7BMzOxW4Bvi5mX0I7B+8xjk3AZhnZnOA/wPOznvKy9hOO8HOO8Mxx9R9L5c5JcJ5FsDPQ52p38ELL9SdcrSShR32kic1EpHiyvq7p3PuhDRvHZBm/183KEVNwNq18Mc/wu67131v003rbkundevEcY/OPDPz/pdf7of6bgoWLPDLo44qbTpEmjsN8FcA6eoHFi3KbfrNGTP8mEuh+fNT7xe2gPrZz7I/drmbO9cvcx12XETyS21H8mjdOl/h/PzzvnVOsobMz3zssdF6WJl91VV+ytFQ2D+ivpxGJQnnA4/3NRGR4lOQyKOnnorWCzGbWnjM7baLhr0AuPpqv1y1Kv/nLJUwJ9GUrkmkEilI5FHYkrdXLzjkkMKc44gjfN+BVOMhbdZs+rSLSLEoSASc8+3yG+M///HLuXP9UBv5svPO0bqZr9R9/HHYZRcYODB6ryHFWeUul4p+Ecm/JhkkVq/OvTnouHGw7baZ95kwwQ+JkU44TDY0fKrQVOL1D2Zw4ol+HKWxY/3AfsUcU6nYttqq/n1EpHCaZOumfff104e+/37+jllbC8OG+fV0AaB79/ydLy7eP8LMFyvFx1Aq5fAZhdK2LaxZU+pUiEiTDBJTp+Y+nEM4ttLo0T4gOBf91NbCNdek/lw8x7JyZbSez8H2XnopWk8VoHr3zjxCbCU6+2z4y19KnQoRaZLFTZnmXUgnnDHOOR8wWrf232bbt48G1guFlcbHHuuH++7c2f+cdVa0Tz7rJOIeeyz19niRVFNw/fV+Jj4RKS1z+Sw8b0gCzFy+05A8V3I+PjNtmq8oBj/f8yOP1P3MsmXQpUvu564vTRddBNddF20v8S0rqIbcO5HmyMxwzhV8xpUmWdxUCPF+D48+GgWMuOQ5HhqrVy/o2dOP+NpcDBiQn6leRSQ/FCSytMMOvlXR/ff712PH+lZFX39duHNOn+6LvgY3o4lf33231CkQkbhmXdxk5iub27XL7TOZ9ttxR9+U9oknsk9vfX7602i+7PPOgxtvzN+xRaQyqbipSPbaKxqML5u5C8491weCdGbMyE+64g4+2AeJiRNhyJD8H19EJJ0m2bopG2ELqNtu89OMQmIT1nRuugnOOKNw6Upl6FC//Oij4p5XRKTJ5CTM/LDaffpkt/9DD/nloEF+OXWqr3coR2FP8N69S5sOEWl+mkyQAP+g79PHP+xnzoROnaL34nNGm9UdXmPXXYuTxobo0MEvU01iJCJSSBVT3LRqVVQslCysRP7Xv/xy5ky45Rb45BP/s2CBn7Bn/nyYNw8+/jhxWItK4Fzdea1FRAqtYlo3TZoEP/956lZFn33mB4LbfHM4/vhoOIdMh50yBX75SzW5FJHKVKzWTRWTkwjHVkpl5ky/bNECunbN7niDBilAiIjUp2KCRItYSr/9FpYsiX5CJ5wAF17o1/feu7jpExFpiiqm4joeJHr29DmLsDL6iy/8Mpzr+ZNPoFu34qZPRKQpqpggEW+dtHSpH0upVavE98LRWjVRjYhIfuQlSJjZfGA5UAusdc7tbmZdgIeA7sB84Fjn3PKGniPMSbzwgl9mqqMQEZH8yFedRC1Q5ZzbxTkXtuYfCUxyzvUBXgQubcwJwiARzjZnBa/TFxGRfAUJS3Gsw4C7g/W7gcMbc4IwSPzmN3Xfa06jpIqIFFO+goQDnjWzt8zs9GDbZs65JQDOucXAJtkcaMGC1Nsz5RwmTSrskN0iIs1Vviqu93TOLTazTYDnzOxDfODIyujRo39cv/zyKqZMqcppCIr11/c/IiJNVXV1NdXV1UU/b957XJvZKOA74HR8PcUSM9sceMk51zfF/gk9rs185fR++yXuN3ky7LFH9FrTW4pIc1YxPa7NrL2ZdQjW1wcOBKYD44ERwW6nAE9me8za2rrb2rVrZEJFRCRn+Shu2gz4p5m54Hj3O+eeM7OpwMNmdhrwCXBMtgdMlUswg512ilo3iYhI4TU6SDjn5gEDUmxfChzQsGOm3qZmryIixVUxYzcpSIiIFF9ZBYmwhdLq1XXfU5AQESm+sgoS4RzTbdrUfU9BQkSk+MpygL9UwSCcXnT2bGjbtrjpERFprioiSCxeHK337l3ctIiINGdlVdwUSu49vcUWpUmHiEhzV5ZBYvr0UqdARESgAMNy5JyA2LAcYTHTVlv52eWifaJ1DcchIlJBw3LkUzijnFoxiYiUh7KquA7HbArnjhgzBjbaqHTpERFp7soqSIRFSWFO4rzzYJOsZqEQEZFCKKvipjAnMW8erFjh17/8snTpERFp7somSCxfntgfYs6c0qVFRES8sgkSnTsnvq6pidY7dChuWkRExCubIJEsHMcJ1OxVRKRUyjZIrFoVre+zT+nSISLSnJVtkDjooGi9U6fSpUNEpDkr2yDx9tvReljcpOawIiLFVbZBon//aD0MEupYJyJSXGURJO65p+62li2j9TBIqAJbRKS4yiJInHJK6u1HHumXCg4iIqVRFkEind1280sFCRGR0ii7IHHmmdH6ggV+qeImEZHSKHiQMLOhZvaBmX1kZpfk8tmw6auCg4hIaRQ0SJhZC+BmYAiwI3C8mW2f7ec328wvFSREREqj0DmJ3YHZzrkFzrm1wIPAYZk+EJ9wKGzhNGMGXHABPP10wdIpIiIpFDpIdAU+jb3+LNiW1nPPRethxfVHH8Frr0Hv3nlPn4iIZFDoSYdSTUSaovBo9I9rH39cBVQBMHBgtMebb+YxVSIiFaa6uprq6uqin9dcAQv8zWwwMNo5NzR4PRJwzrlrY/u4vn0ds2YlftY5P1x469b+dd++MHNmwZIqIlJRzAznXKov4nlV6OKmt4DeZtbdzNoAw4HxyTvF6yHatInW472uDz64YGkUEZE0ChoknHPrgF8DzwEzgAedc7OS9wuDxMqVcPHFdbcDDB9eyJSKiEgqha6TwDk3EeiTaZ9wgqF27dI3d21V8JSKiEiysuhxPW9etF5bm3ofBQkRkeIriyARlzzXdUhBQkSk+MoiSOy8c7T+m9/A3Ll191m0qHjpERERryy+n7/3XrTepg1ss03dfdatK156RETEK2g/iawSYOYypSFs4aTxm0REIk2ln4SIiFQwBQkREUlLQUJERNJSkBARkbQUJEREJK2KCBLhDHUiIlJcFREkWlREKkVEmh49fkVEJK2yDxLrrQddM054KiIihVIWw3Jk8skniRMRiYhI8ZT9sBwiIlKXhuUQEZGSU5AQEZG0FCRERCQtBQkREUlLQUJERNJSkBARkbQaFSTMbJSZfWZm7wQ/Q2PvXWpms81slpkd2PikiohIseUjJ3GDc25g8DMRwMz6AscCfYGDgFvNrODtectRdXV1qZNQULq+ytWUrw2a/vUVSz6CRKqH/2HAg865GufcfGA2sHsezlVxmvofqq6vcjXla4Omf33Fko8g8Sszm2Zmt5tZp2BbV+DT2D4Lg20iIlJB6g0SZva8mb0X+5keLP8LuBXo5ZwbACwGrg8/luJQGntDRKTC5G3sJjPrDjzlnOtnZiMB55y7NnhvIjDKOTclxecUPEREGqAYYzc1ahRYM9vcObc4eHkk8H6wPh6438z+gi9m6g28meoYxbhIERFpmMYOFf4nMxsA1ALzgTMBnHMzzexhYCawFjhbQ72KiFSekg8VLiIi5aukPa7NbKiZfWBmH5nZJaVMSyZm1s3MXjSzmUHF/bnB9i5m9pyZfWhmz8Zad2FmY4LOhNOC3Fa4/ZTgej80s5Nj2wcGDQI+MrMbi3uFP6ahRdApcnzwuoeZTQ7S+oCZtQq2tzGzB4Pre8PMto4dI2UnylLfazPrZGaPBOmaYWaDmsr9M7Pzzez94Pz3B/enou+dmd1hZkvM7L3YtoLfr0znKPC1/Sn4vU8zs8fMbIPYezndl4bc+4yccyX5wQeoOUB3oDUwDdi+VOmpJ62bAwOC9Q7Ah8D2wLXAxcH2S4BrgvWDgKeD9UHA5GC9CzAX6AR0DteD96YAuwfrE4AhJbjO84H7gPHB64eAY4L124Azg/WzgFuD9ePwfWIAdgDexRdj9gjur5XDvQbuAk4N1lsF96Di7x+wJfAx0CZ2z06p9HsH7A0MAN6LbSv4/Up3jiJc2wFAi2D9GuCPDb0vud77etNbjD/kNL+owcAzsdcjgUtKlZ4c0/5EcFM/ADYLtm0OzArW/wYcF9t/FrAZMBy4Lbb9tuBmbQ7MjG1P2K9I19QNeB6oIgoSX8b+cH+8X8BEYFCw3hL4ItU9BJ4J/mlLeq+BjsDcFNsr/v7hg8QC/AOxFb7RyM+BLyr93uEfgPEHacHvV4pzfFCMa0t673Dg3obelxz+b7/MJq2lLG5K7nD3GRXQ4c7MeuC/BUzG/zEtAXC+ldemwW7pri1dJ8OuwT7J+xfTX4CLCPqzmNlGwDfOudoUafrxOpxz64DlZrYhma+vlPd6G+ArM7szKE77u5m1pwncP+fcInz/pE+C9CwH3gGWNZF7F7dpEe5X8t/EJnm+hmychs/dQI73Jcf/22XBvc+olEGi4jrcmVkH4FHgPOfcd6RPb/K1WbBvumsu6e/CzIYBS5xz02JpsRTpcrH3kpXt9eG/YQ8EbnHODQS+x3/zqvj7Z2ad8cPgdMfnKtbHF7+kS0+l3btsVMz9qo+Z/R5Y65x7INyUYrf6ri3b/1sji+suZZD4DIhXnHQDFpUoLfUKKn8exWcDnww2LzGzzYL3N8dn8cFf21axj4fXlu6a0+1fLHsBh5rZx8ADwH7AjUAnMwv/RuJp+jG9ZtYSX877Dblfd7F8BnzqnJsavH4MHzSawv07APjYObc0+Hb4T2BPoHMTuXdxxbhfi9Oco+DM7BTgYOCE2Oacrs059xXZ3/sNgnufWTHKFtOUu7Ukqnhpg6946Vuq9GSR3nvwI97Gt11LVA44kqgi7WCiirTBpK5IC9c7B+9NwQ+CaPis5tASXec+JFZcHxes3wb8Mlg/m6gCbDh1Kz/bAD2JKtlKfq+Bl4HtgvVRwb2r+PsXnHM6sF5w7ruAXzWFe4evqJ1ezP+3pHMUpOI6zbUNBWYAGyXtl8t9iVdcZ33v601rMW52hl/UUHxLodnAyFKmpZ507gWsC27Eu/gy36HAhsCk4BqeD/8Ag8/cHNzE/wADY9tHBNf7EXBybPuuwT/7bOCmEl5rPEj0DP6ZPgr+8FoH29sCDwdpnQz0iH3+0uC6ZwEHlsu9BvoDbwX38PHgwdEk7h8+6M0C3gPuxrd2qeh7B4zDfwNeg69vORX/oC/o/cr0N1Hga5uNb4DwTvBza0PvS0PufaYfdaYTEZG0NH2piIikpSAhIiJpKUiIiEhaChIiIpKWgoSIiKSlICEiImkpSIiISFoKEiIiktb/B2x9f+QQW7RRAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112b2d45d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 83\n",
      "Dollar per trade: 0.00027784939759\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEKCAYAAADq59mMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecFPX5wPHPc0cRRUARIYAKQhRBo7EgKsYTSwS7scfYEjRqYowaFRtoEltiNxZiz0+xB9FYAPHU2KIUQToSqgIBRZoId/f8/vjOMLN7u7e7tzvb7nm/XveaPvPdm7t59ltHVBVjjDEmExWFToAxxpjSY8HDGGNMxix4GGOMyZgFD2OMMRmz4GGMMSZjFjyMMcZkzIKHKUkispmIvCIiK0Xk2UKnx5imxoKHyTkRmSci60RklYh8JSKPisjmaRy3g4jUiUg6f5cnAh2ArVT1lCzTe7qIrPbSu05Ear15f90WIvJfETk1dExrEZkvIid4y497ad87tE8PEanLJm1ppH2oiGzw0vm1iPxbRPqFtncSkYdF5EsR+VZEpnnHtIo7z1wR+TzKtJryYsHDREGBI1W1DbAnsA9wbQbHpmMHYJY2operiFTGXFD1aVXd0kvvQGCxqrbx16nqWuA84B4Rae8d9hfgP6r6UijdK4A/NfLzZOMZL+0dgPeBlwBEZCvgQ6AlsK+qtgUOA9oBPfyDReQn3rE7isheeUivKQMWPExUBEBVvwJeB3YFEJG3ReRG7xvyKhF5Q0S2zujEIsOA64FTvXOcI861Xq5niZcTaOPt7+dozhWR+cBbmX4YVR0DvArcKyIH4XI+F8Xt9gTwIxE5MI3PcKWIPB+37m4RucubP1tEvvA+3xcicloaaaz10tDR+51eBqxS1V+o6kJvn8Wq+ntVDecyzgJGAq9588akZMHDREpEtgMGARNCq0/DPaQ64L4VX57JOVV1GHAT3jduVX0MOAc4EzgI2BHYErgv7tCfAL2An2b8QZxLgSrgBeAyVV0Wt32dl66b0jjXCGCgiLQG8IrqTgKe8or47gZ+6uUo9gcmpTqhiLTE/R4WqurXwCF4uZAGjmmFC4RPAU8Dp4lIszTSb5o4Cx4mKiNF5GvgXeBt4ObQtsdU9QtV/R54DtgjB9c7HbhDVeer6jpgCC5n4v+NKzBUVb/zrpsxVV0JTAVaAf9MsttwYHsRaTBAqeoCXEA9zlt1CLBWVT/xlmuB3URkM1VdqqrTGzjdKd7vej7w49A52wNfpfhYPwPWA2/iclaVwJEpjjHGgoeJzLGqurWqdlfV38Y9sJeE5tcBrXNwvc64h6dvPtAM6BhatyibC4jIGbi6lrHAbYn2UdUNwB+9H0lxyhG4XBje9GnvHOuAU4ALgK+8VmU7N3CeZ73fdSdVPVRV/VzKCuAHKdJwJvCcOhtwQdGKrkxKFjxMVFI9OHPtS9yD3bcDsBFYGlrX6MprEdkWuAP4FfBr4CQR6Z9k98eAtsDxKU77PFAlIl28fZ/elFDVMap6ONAJmAn8vRHJHttQGrzrDgDO8FrFfYXLiQzKtB7KND0WPEyxEWAzEWkZ+kknEI0Afi8i3bx6hD/j6kT8prLZBrP7gJdU9V1VXQJcCTwsIs3jd/Qqrm/w9klKVZcD7+CCzVxVnQkuUInI0V7dx0ZgDVDTiDTfAbQRkSdEZHvv3F1E5HYR2RWX65gJ7ATs7v3shMuhpaygN02bBQ8ThYa+4af69q/Aalxx1nfe9OA0rvko8A9cHcsX3nEXZ3DdpETkWFyl9RWbTqb6CLAQ1+orkRG4+oZU130aV9/xVGhdBa6l1GJgOa6i/8JM062q33jp3gh8LCLfAmOAb3C/o18Af1PV/6nqMv8HeAgrujIpSNQvgxKRtsDDuKaadcC5wCzgWVzRwjzgZFX9NtKEGGOMyZl85DzuBl5T1V1w2eIZwFXAWFXdGRiHaxljjDGmRESa8xCRLYFJqtojbv0M4CBVXSoinYBqVe0VWUKMMcbkVNQ5jx2B5SLymIhMEJHhXiVgR1VdCuBVPnaIOB3GGGNyKOrg0Qw3ttHfVHVPYC2uyCof4/0YY4yJSNTDECzCDZXwqbf8Ii54LBWRjqFiq/hhHhARCzDGGNMIqhp5P6tIcx5e0dRCEdnJW3UIbniHUcDZ3rqzgJeTHF+2P0OHDi14Guzz2edrip+vnD+bav6+c+djALSLcYO9NQfm4gZuqwSeE5FzgQW4AeGMMcaUiMiDh6p+hnufQ7xDo762McaYaFgP8wKpqqoqdBIiZZ+vtJXz5yvnz5ZPkfcwbywR0WJNmzHGFCsRQUu9wtwYY0x5suBhjDEmYxY8jDHGZMyChzHGmIxZ8DDGGJMxCx7GGGMyZsHDGGNMxix4GGOMyZgFD2OMMRmz4GGMMSZjFjyMMcZkzIKHMcaYjFnwMMYYkzELHsYYYzJmwcMYY0zGLHgYY4zJmAUPY4wxGYs8eIhIhYhMEJFR3nI3EflIRGaKyAgRifw96sYYY3IrHzmP3wHTQsu3Arer6s7ASuCXeUiDMcaYHIo0eIhIV2AQ8HBo9QDgRW/+CeD4KNNgTFO0aBG8+26hU2HKWdRFRncCfwDaAohIe+AbVa3zti8COkecBmOalJoa2G47N69a2LSY8hVZzkNEjgSWquokQPzVoXmf/Xkbk0M33FDoFJimIMqcxwHAMSIyCGgFbAncBbQVkQov99EV+DLZCYYNG7ZpvqqqiqqqqgiTa0x5+NOfCp0Ck0/V1dVUV1fn/bqiecjXishBwGWqeoyIPAu8pKrPisgDwGeq+mCCYzQfaTOm3LRtC6tWuXn7F2p6RARVjS/hyblC9PO4CrhURGYBWwOPFCANRaOmpnHHzZ0LEvmfhylFF1xQ6BSYpiAvfSxU9R3gHW/+v8C++bhuKWjeHN57D/r3z+y4kSOjSY8pfRXW9dfkgf2ZFYERIzI/Zptt3HTp0tymxZS+tWsLnQLTFFjwKAI77JD5Mdtu66bDh+c2Laa0TZ4M99wTLFudh4lKXirMG6NcK8xra+Goo2DNGvjuOxg/Hjp2hCVLkh/Trx/85CcweDC0agVdu8Lrr8OgQW57Gf6aTCPF14PV1EBlZWHSYgojXxXmFjzybNUq1xrmnXdcIOjb161v6KOKwC67wPTpLnC0bAlffOG2bbGFC0SlThWuvBJuu80tr1gB69YFnd1MeuKDx/ffQ4sWhUmLKQwLHmUaPObOhR49gmAhAscfDy+9lPyYhlpVde0KCxfmNo2FsH69C6aDBkGnTvDoo259Gf4JROrFF+HEE4Pldevc79U0HeXcVLdJ69Gj/rp//rPx51u0qPHHFpM6b8CaQYNgv/0Km5ZSVlkJxx4bLO+3H6xeXbj0mPJlw6EX2IUXBh260tGqlasrKTd+f5cLL3Q5rcGDg/XN7K80bXV1sU11P/sM5s+HXXctXJpMebKcR4H16AEdOqS/f2M7FRa72lpo1y4oovOH2Jg3r2BJKkk/+1l2OVlj0mXBI48S5RgqK+sHhJoaV6GeyMaNuU9XMdh6a1i5Mlj+0hvxzH8Qnnee+wZtMmf1RiYKFjzyqLa2/roxY+Dee2PXvfYa5GMMSL/FVjHycxyTJ8Mzz8Df/w633lrQJBljQix45FGib4D/+lf9dfmo0xg/Hnr2jP46jdWxo5vOnh3kPt56q3DpKTWtWxc6BabcWfDII79FUSoLFrjp3LmJi2py8dDfe+/sz5ELd9yReP0117jpv/8Nzz7r5ve1EdHSNmNGMD9zZuHSYcqXBY88ami003Cu5Ior3HT//eHAA+vvG26K2Rg77ZTd8bl02WWJe9f7TZrDLYes7D59XboE8+vXFy4dpnxZ8MgjfwDEyZPrbwtXFvuWLKmf8+jQIWiRtNdejUvH7NnBfCEfyH5OzG+q/Pe/x27fuDE2eKSbczOxdt+90Ckw5ciCRwHstlswP3Som/oPxlSj5LZvHzzwX3/dTT/8sPFpKWTTX78Bwc47u+nxx8duj+/fYcGjcRI11DAmWxY8CmzYsNiA0KlT7HYR+OEPg+U99wzm/Yfr/vs3/vqfftr4Y7MVH7hSdQa0YqvGmTix0Ckw5ciCR540ND5VRUX9b9XhMusttwzmn3gi+CaZi5f+PPxw9udorJqa2FZBbds2vH+ioV1Mag89VOgUmHJkwaMIiMCGDbFvB1y8OPG+zZoFD9nmzd00myCy+eaZ7f/6626k1lyIr9NoyIABcPDBubluuQvnTiGz4W+MSZcFjyKwbBlccklsmf+PfhTMr1gRu//VV7uRdP0HfyZ1AfFFRZmWhw8aBJttltkxyey2m3uw/eUvqfcVsWKrdJx0UtBaz+cP9WJMLkUaPESkq4iME5FpIjJFRC721m8lIqNFZKaIvCkiKQosykeyIoQXX4xdnjQpmI9vcdWihRuKvTHii6n693etv5KVi193nauT2Wab4O2FueIPQXL55akDgwWP9NTW1n/505AhhUmLKW9R5zxqgEtVtTewH3CRiPQCrgLGqurOwDigyfx5p/Nini22SFxHkm3/DnAdD8NatXJNOeOLOnxvvgk33eReRDVlilt3003Zp2PDhsz2HzsW7r8/++uWu3Dw8Is3Z80qXHpM+Yo0eKjqElWd5M2vAaYDXYFjgSe83Z4AjosyHcWkoYpz36GHJl7f2NxGmF9P4jv99Ib3/+QTePtt17+kY0f4zW9yM/TF6NGZH/Pyy9lft9ytWxfUIzW2H5Ax6chbnYeIdAP2AD4COqrqUnABBshgUPLSlqiDYLxkAeb227O/fnyRRrj3cXzRmV9MFM4lNGuWm74hY8dmfw5T35gxbiBJgP/9r7BpMeUtL6/ZEZHWwAvA71R1jYikVXo9bNiwTfNVVVVU5WOo2YjdcUfyIDB0KNxwA/Tpk3h7y5bZX98PBM8/DyefHFuPcOKJLkfQqpVrCeUPC3/99cE+uQoefmX/1Vdnfy4Tq39/N+3ePShqBFc0OXGi1R2Vm+rqaqqrq/N/YVWN9AcXoN7ABQ5/3XRc7gOgEzA9wXFaTty/rOreeyfe1r+/m1+/XrW2NvGxDZ03XUcfHezvHxv/c8ABqlVVqpWVbnnOnOD43/5WdciQ9K+XzCOPuHNfcEF6+2f6OZuqfv1UP/jAzU+cGPt7s99h0+A9OyN/tuej2OpRYJqq3h1aNwo425s/C2gypdnPP19/3d57w1lnufmWLev3fchV01iAV15pePuZZ7qRbN9+Oyj+CA9ceO+9cPPN2afD70nvD03SGNOn567PSbmorQ3+fvbYo7BpMeUt6qa6BwA/BwaIyEQRmSAiRwC3AoeJyEzgUOCWKNNRTLp1q7/uk0/gV79KfsxPfpJ824AB0Llzw9cUce/viO8vkogfxCCoXM9m+JNkvvrKTefMyey4KVPce7knToTevXPT8qtcrFzpKszD9VpPPw2nnlq4NJnyFWmdh6q+D1Qm2ZykTZGJ9/jjsGhR4m333OM6hqXy5ZfBOzz892LsvXf9sa1atQrm/aCUqAL///7PvXPcF1+Onmp5/Hg3HTAgddrDTjvNPRz9b9cvveTqiQxstZWbhnOulZU2MKKJRl4qzE12fvAD95NIq1au+GbZsqATX02Ne+f3woXw7bduXXh8rI8/dtO774YDDog9X7gp7z77JO+PcfvtseNvJQow8evCy6NGuenhhyc+fzKffx7Mb7+99Z5OJBw8vvoqcVGpMdmy4FHi/L4fHTvCwIFw442uM6Hfe9uX6OHuF0f5rbwAJkyIfctgfL8Qv6f32LGu53ljHXwwVFe7DpGN1adP/fQZWLMmmPffwmhMrtnYVnm0enXuz9mihTvvBRe4QQv32ccFjrFjg/ZTAwa4pre+E06IPceTTwbzqToi+sVPqYZPTyWcE0pHoiBTUWHNTlOJ79djTK5Y8MijqF4H2rq1G7pD1dVhfPEFHHJIsH3cuNixq46L688fTtegQQ1fa5dd3DTb4JFp7+cdd6y/TiTzF0Q1hWATLrbyW1z59SHG5IoFjzzwKywzHf68MfbaK/GD9v33g/n33ovdFuqLmdI997hptsHjuusyC6aJ+oeuW+d+0iWSm3egFLtwEeXFF7tm0fFjmhmTLdEi/SomIlqsacvU+vWuZVJUOY9UTjjBNfcdMQL+8x+3zv/VirjmnAceCNttl/qb+cSJrqdyuD9BPsyb54riwk2a/Ydkun8m/v5XXRWsmzzZ9cguh5Fn/c/3wQew3371t++/v3tlcZn8W5kkRARVTWMUvSyvU6wP6HIKHqtXu2avUdR5pMN/qLRr5/oCQPAAmToVevVKv2x8wgSXuymGW5MqeCxa5IZbOffc2P3//Odg3h8epRg+T7ZSBY/x411jiHL4rCa5fAWPJpCJL7yNG4uj4tJPQ7glVp8+maWtlB48d98Nv/xl/fVXX+1yGvG5jcMOg7vuyk/aCmGnnQqdAlNOrKluHqxYEfS3KHQ6HnwweZ+RdGRaQV0oM2cGr1+9+urk71Hp1s0ViYErFvvuO/dWx3LUsmX2dVXG+CznkSc9ehQ6BU62OaBcjrMVpV69YPhwNx9+/8itt8bud9FFbuoXXxVDDjFbycYLs6bNJpfse0gebNiQ3hsE8yHbh+Nuu7mmwKXEDwyJWpX5r/v1A0xD44iViq23Try+oqJ0co6m+FnOIw8++8wNIVIMctHjOFFT4ELKZuymgw9272f3A0w5D3fijw5guQ+TCxY8svDUU+4f8uuvg3UrV8YODwHw85/nN10NefPNQqcg995+O3b5kUfSP/aXvyyPN+6l099FJAggxmSrSQYPVfdPlO1oo2ec4abTpgXrttoq86E3onbmmYVOQTT69nXT+PvY0PD25SrdPkSN6ZVvTCJNMnh8952b5qrfxYcf1l+3erVrYfXNN7m5Rjb69Qvm//WvwqUj1/xRfRP9/rOxeHHseF+lwP8Cc801De9nleYmV5pk8PD/eR5/PDfn6969/rrOnd2Q4X79QKZjOeVSeGgP/9t6OejQwU2Tvc/jgAPqDznfkCFD4Be/cINDhl+KVUquvbbh7TU15VFMZwqvrFpbbdyY3hDdfjHHNdfkpk3/2rX114VzNSLJX+aUD/5ghlBeYzul+gb93nuJh6JPZty44F0npeaNN9w0nVZ9VmxlcqFsHiUvvhj7jzN8eOpy4PBb87Jx550wY4Yb6qOyEn784/r7HHlkbq5lAqmCRyaBA2IbPgA88EBmxxfSn//spqm+HHToUDzNxk1pK6mcx7x5rr4i/E3a99JLbrrPPm6fqVNdL+P99nPHPfaYWwdBzuPii3OTrmnT3AuY/Fd+xqfv/PPhN7/JzbUaa8stXW4o0wdqU/LXv7q3L/r36sIL3XtSSkGiVwonYn09TK4ULHiIyBHAXbjczyOqemtD+6sGdQuJvnE+/bSbPvCAy8Jfd50bhnz+fJcrCfNfjOSXmWfqV7+CF15w85tvHltsJRL74iVwQ4IUmh8wy+lbZzZvMkzkmGPctF27oCXdqFHugbv77m7UYYApU1y9QabvX4/SJZcEaW6IBQ+TM6qa9x9cwJgD7AA0ByYBveL20bAHHvC7N2lC4W1PPunm5851y+ed55a32MItL16c+Fzff69aV5f4/L7x491x557rpp9+Grv99tvrrysGV12lev75hU5Fbn33XeL7CKrvvtv4865eHZz36KNVd9vNzR90kNu+887J/w4LZeRIl9ZUunRRXbgw+vSYwvGenZE/xwtV59EXmK2q81V1I/AMcGxDB0yZkv7J/d7cfo7A/0bpL8fnDHwtW8LDDzd8br/VlD8ia3wx0KWXFrZlVTI331wcOaBcSjTOlp8r7dmz8ef17+mtt7qch1909c47blqMube6uvSGnrGch8mVQhVbdQEWhpYX4QJKjPHjg/kJE4L53XZzvYq33BLuu8+NHdW6tavvAHj5ZTft08dN/VFTwT1cNmwIltu3h+uvDx4Yo0cHncwaqh9I9E5tk3833uju37ffQtu2QfHcNts0/pxbbOEaQPgDDI4ZE7s9ky8y+ZLuy7kseJhcKVTwSPRYrleTcdRRwzbNL1lSBVQB8Pnnrr7i5Zfh3nvhtNNcf4qBA92+focp/+G/557BOb/7Ljbn8fXXsQP9vfBC8E+4dKkbWiT+4QFBL/LOnZN+RpMH++7rpkuWuOBRU+NykOk02W5IeGTa8BD2Dz0UzE+aFLwjvNBqay3n0VRVV1dTXV2d/wvno2ws/gfoB7wRWr4KuDJun5hyvM6dg3Loq68O5ps3T1TmV79Muk0bt27VKtVJk4J9wvuF14HqiBGJy9PB1Y+Aam1t/eub/Kmrc/fh44/d8urVQd1WrtTWBvd98OBg/vjjXb1LMXjqKdVTT029X48eqrNnR58eUziUeZ3HJ0BPEdlBRFoApwKjGjrgnnvc9NBDgzbtkHh48EGD6q/79luXW4gvtmrIaae5qT+gXFiLFq74opw63ZUi/76MHesGqnziicSdNrMRvsfDh8Ojj7r5f/4Tjjgit9dqrNmzY4t2k7Gch8mVgjz6VLUW+A0wGpgKPKOqDQ5a3rWrm267rZtu2OBep+o3nwx74YX6L/0B18/hrbfg1VcTXyMclKD+OFAbNrjOfq+84pZ33bWhFJt8GjMGXnst6Gmda+PGuT4gEPtFwu87VGjDhsGsWan3s+BhcqVg/TxU9Q0gyTvP6vNfn+m3sGnePPnrVFu1giuuSLxt+HA46aRguWPHYN6vYPcNHOg6Gvrl32vXuoBSTEOsG1eHFfXrVQ8+OJjv3z+YX7482uvmWkVF9qNJGwMl1MPcrww899zszjNjhnuHgy/80Bk3LnZfEdhpp2DZ78WebWWsya18v5d7hx1il994A77/3o0yUCjXX5/eGx4rKy3nYXKjZErs/QdEsldspivcbBfc8Nu+yy4L5v1iMoDevd10zhw3blWiUXRN09G8uRsx2TdwIBx3XOHSA26kg3Ra/qla8DC5UTLBw38HR7bf+n/96+Tb/PdDQGzR1P33u+myZe4bZqLOaaZpKeQoyYmk21R36lRXN2RMtkomePiVldm2bho6NHnv4/A/X3ggw4MOctNHH3V9SBYsyC4NpvS9/36hUxAr3eABsfV8xjRWyQWP1q0bfw5V6NQJPvgg9TfH+HL0f/zDNc2E9Jv6mvKV7oM6H+rq3N90Omnq2zcohjUmGyUTPPyevLkYSbVDh9giqkTatIldPuMMV649YECQEzFNlz/8yeWXFzYdAO++6yrta2pS7ytir6E1uVEywcN/wVLU76MYONANebL55om3v/WWG7LbNG2dOrnpJZe44doLyS/KTee96xY8TK6UTPDw/0FyHTzCTXHBVSYW+sVNpvj5f49duri+QwBHHeXeKplv/hsx06nEt+BhcqVkgocfNHIdPJLlMIxpSMuWwQCbffu6b/2rV8Nzz+U/LcleMZCIBQ+TKyUXPHIt3x3MTPkI/+384hdw3nmxfS0efjg/D2p/rK10VFRY8DC5UTLBI6oX8FjwMLkyblwwCgHA4MHw739Hf13//TXpELFOgiY3SiZ4NGsWzTcmCx4mVz79NJhft85NV6yI/rp+MEin/5EVW5lcKZngERUbp8rkij/K8mefBSMi5OMdPV9/7aaJRpiOZ8VWJldEi/QvSUQ06rSddZZrmnvqqZFexjQR/tA1d9zhRm72H+ZR/4v59YHpXCeTfU1pEhFUNeJODU08eBiTa/7DedYs1wz8j3+Ea6/NzzUteBjIX/Bo8sVWxkTh6afdNL4fUTFo2bLQKTDlwIKHMRHwx49qaMiQtWuD+op8SvYSNWMyYW2NjIlA27Zu2lDw6NDBVaznswjphBNsbDaTG5bzMCYCw4a5aUO9v/0WWfnUqVP2rzUwBiIMHiJym4hMF5FJIvKiiLQJbRsiIrO97YdHlQZj8u2pp2CrreDDD93ymjWFTU88a6prciXK7yCjgT6qugcwGxgCICK9gZOBXYCBwP0iUY+Va0x+dO8eDFQIrtluMamosB7mJjciCx6qOlZV/T/TjwD/reDHAM+oao2qzsMFlr5RpcOYfNpjD7jiimA5nR7m+Sy+suBhciVfpZ/nAv6bk7sAC0PbFnvrjCl5rVrB734XLK9dm3i/cF3IIYdkd82KCnjllfT3teBhciGr1lYiMgYIvxFZAAWuUdVXvH2uATaq6ojQPvESlsIO82sdgaqqKqqqqrJJrjFFY8mSYN6vH2msXr2gW7f09rXgUX6qq6upzsc4OHGyCh6qelhD20XkLGAQMCC0ehEQHoWnK/BlouPDwcOYUvLqq3D66bBqVeLtPXvm7lp1dem/U91G1S0/8V+sb7jhhrxcN8rWVkcAVwDHqOr3oU2jgFNFpIWIdAd6Av+JKh3GFMKRRyYPHAAbNuTuWnV16Te/tdZWJleirPO4F2gNjBGRCSJyP4CqTgOeA6bh6kEutEGsTFOgCocdBitX5va8mQYPy3mYXIish7mq/rCBbTcDN0d1bWOKQb9+8NFHrhK9pibobT5kSP19v/zSBZe6umDqP+S7dUseHFRhzpz037RpwcPkig1PYkxEzj4bFi2CmTPde2OaNXMP73Bl+Ysvws9+Bnvt5bZVVLhA4M//97/w17/CZZclvoafZ1+2LL16FAseJlcseBgTkfPPdz/xOnQI5k84oeE6CBG4/PIgZwKx09paN7/XXumlySrMTa5Y8DAmz/7+dzjuOJfjSFfnzm7qF0+JuJ/Fi91yusOsW87D5IoFD2MKYORIOPHE9PdPVmw1daor1kpXRUXDI/0aky4bX9OYPDv9dDdNZ9yrW26BPfdMvr1588yubTkPkysWPIzJI1U38i640XdTufJKGD8++fZ0Owf6LHiYXLHgYUyBHHVU9udolmHB85o1MG9e9tc1Roq1f56IWN9BU7Y+/hh+/GNo0SK783z9NbRvn36vcb/C3f61ypeIoKqRv+bCgocxJW7DhvSDkAWP8pev4GHFVsaUuGxzL8Y0hgUPY4wxGbPgYUwTMnJk+u/+MKYhFjyMaUK23RY6dSp0Kkw5sOBhTBPSrFn9HuaqsH59YdJjSpcFD2OakMrKYDBF38iRbth4YzJhwcPSVLY2AAAUSElEQVSYJmTzzeHzz2HHHWH77eGVV+D55902G/PKZMIGRjSmCdl5Z/d+EVW48UbX23zECLetpibzHuum6bKchzFNiAh07+5yHlttFZvbmDu3cOkypceChzFNVHzl+YwZhUuLKT2RBw8RuVxE6kRk69C6e0RktohMEpE9ok6DMaa+556DK64Ilj/4oHBpMaUn0uAhIl2BQ4H5oXUDgR6q+kPgfODBKNNgjElswYLY5TlzCpMOU5qiznncCfwhbt2xwJMAqvox0FZEOkacDmNMCi+/bAMmmvRFFjxE5GhgoapOidvUBVgYWl7srTPG5NH06TAl7r+zogKGDy9MekxpyaphnoiMAcK5BgEUuBa4Gjgs0WEJ1iX8vjNs2LBN81VVVVRVVTUypcaYeL16ualqMFQ7wPnnw+DBsetM8aqurqa6ujrv143kfR4isiswFliHCxZdcTmMvsCNwNuq+qy37wzgIFVdGncOe5+HMXnSqRMsDf0HfvIJ7L134dJjGq+k3+ehqp+raidV3VFVuwOLgB+r6jJgFHAmgIj0A1bGBw5jTH5tsUXssr0jxKSSr/6kildcpaqvicggEZkDrAXOyVMajDFJ7LmnGxzxyy/dsmX6TSr2GlpjDBs3Ql0dbLaZW540CXbfvXHnWrEC2rSB5s1zlz6TvpIutjLGlJbmzaFly2C5rq7x59pmG7jqquzTZIqb5TyMMZuEW1il8+83axY89BDcfnv9c9i/b2FYzsMYk3d//nNm+z/1FNxxh8up+D+mabDgYYxJaMOG1PvceKObNmvmfioro02TKR4WPIwxm8ybF8xffHH97V99BRMm1F/v5zq++cYtX399JMkzRcSChzFmkx/8IJh/6KH62y+7DPbaK/nx4Ur3sDVr4LrrXD3I/PmJ9zGlxYKHMWaTQYNil3v2dG8f7NPHNd313zo4ebKb/upX0K9fsL/f1De+k+FHH8Gf/gTjxkG3bpEk3eSZvXTSGLPJvvvGLr/xBtTWupdG1dTAzTfDs8+6QKIKr74KS5YE+4u4Zrrr1rnldetc3cnKlW550SI3XbDAvUPdlC7LeRhjkorPeZx1Vuz2wYPhhhti191yC9x0k5s/+mjYbjvXCRHg6afddNWq7NK1ahXcdlt25zDZseBhjEnIL4IKi3/o19S4VlZhnTsH83PmuPoOv++HH0Refjm7tL36Klx5ZXbnMNmx4GGMSWj9+tT71NTUb57rj4+1bFnwtsI2bdy0dWs3nTgxu7QttaFUC86ChzEmoX//u/66jz6KXa6trZ/z8CvEH344WLfNNm66665u+umn2aXt0kuzO95kz4KHMSahAw6ovy5cOb7NNq53eXgdwP33w377wTXXBOtOOslN+/Rx0/79G58uy3UUB2ttZYxJ25lnwjPPuPnp010dyHbbxe6zbBl8+GHsOr/46owz3LRnz8anYfToxh9rcsdyHsaYtIVzIx06QI8e9ft01NS46aGHuml4gES/FVY2b5T2e7EDfP11489jsmPBwxgTo2XL5A93v+L7sceSH3/uuW46dmzwnnTfZZe5IquKLJ48q1cH89lWvJvGsyHZjTEZeestGDAgdvj2ePFDu4eHaReBtm0TB6j4c/7oR/X7kfz1r/CHP7j5li3TaxXWlORrSHar8zDGZOSQQ1Lv06ULLF4cu85vcQXQuzecfXbs9vjviosXw9131w8eYd9/nzotJhoWPIwxObdgQf3+H8uXB/PnnAPHHdfwOebMgTvvrL/eCiSKQ6R1HiLyWxGZISJTROSW0PohIjJbRKaLyOFRpsEYk38VFS53Eeb3B1m3zg2omEplpetwGF8p/uCDuUmjyU5kOQ8RqQKOBnZV1RoR2cZbvwtwMrAL0BUYKyI/tAoOY8rL6NGwdm2w7LfCatUqveMrKlx9Rvv2sbmNuXNzl0bTeFEWW10A3KKqNQCq6mdajwWe8dbPE5HZQF/g4wjTYozJsy5dsjve3kpY3KIsttoJ+ImIfCQib4uI/wqZLsDC0H6LvXXGGLOJBY/illXOQ0TGAB3DqwAFrvXO3U5V+4nIPsDzwI7ePvESFlkNGzZs03xVVRVV2fQsMsaUlGz6gjQl1dXVVFdX5/26kfXzEJHXcMVW73rLs4F+wGAAVb3FW/8GMFRVP4473qpBjCkTrVu7+o9M/qWXL3e92CH2uN693dAoPntMxMpXP48oY/tI4BAAEdkJaKGqK4BRwCki0kJEugM9gf9EmA5jTIGtWJH5UCLJOiG2a+emvXtnN8yJyU6UweMxYEcRmQI8DZwJoKrTgOeAacBrwIWWxTCmvLVsCVttldkxdXWJ1593nsvJ/OUvbkh4UxiRtbZS1Y3AL5Jsuxm4OaprG2PKV2Wl62DYti1MnVro1DRd1sPcGFOU2rcP5n/9a+jUyc1PnOgCh4grCps5071n3eSXtWcwxhSlcGsr/53nixfDqFFum7/OxrcqDAsexpiidc45bnrffTBsGAwe7JZFXD0KZNfa6uKLYZddGt7HHwk4/B6RRERg5MjGp6XU2JDsxpiiNXOmeyfI+vUuWHzyCfTt67ZNm+ZaXE2cCHvs0bjzh4eKT+arr6BzZzdI4yWXJN5HNcgpJTrXhg31X5oVFRuS3RjT5Pn9PPxcRrgoy2+NlYvvmHV18MILcPLJ9bf51/z975Nfa9myhs/fsqULdqlyOaXEiq2MMUVr661jH9jhvh/+KL3pBo/Ro2HJksTnWrAATjklcdNff0BHf79EP+m80XDWrPTSWSos52GMKRnhB74/9lW6fT1++lNXh/Loo/W3+YGoWbP6wSgcPBK9XwRg0iR48003v3Jl0JExLFm/lVJlOQ9jTMkIBw9/PpOOgsn23W675MeEg0c6+4TfmBhWbsHDch7GmJIRDh477OCmmQx7kk4Rl0jsfukEjz32gMcfd/u+9lrsNj9olFtveMt5GGNKRqI6j2efddMrroD+/Rs+fqH3Mojwg1wV/vSn5Mds3Jg6Xc2awVlnwbbbupZVYX7wSec8pcRyHsaYkpFosES/yOkvf0l9vD9yud866vPP3fTnP4fJk10AuP762GN2281N08m1NG+ePHjEry91FjyMMSXDfxC3aeOmhx0GBx4Yu8+BB7qcRU2Nm/o/YXV18IMfQJ8+brlbN5eDmTAhKGZavjx5/UUy77/vWnVNngw/+lFsmi14GGNMgSz3Xma9//5uWlkJRxwRu89NN7n1/k+zZm7qP8z79nWtoxIVI61d65rdPv64a5mVaR8Sv8nu7rsHx1rwMMaYAluwwE39jnuJXlUbnxPx3Xgj/PCH0L27e7CPH19/ny++cFN/WJTZszNL30knwb/+FSzX1QXDmljwMMaYAvFH2m0oeCRz3XWxy/361d8nvnhr4EA3Pffc9K6x446xy088ERybbfCYN88Vtfm97QvNWlsZY0qGPz6UHzQyCR7pOP742OU5c9z0oovSO75Xr2C+rg623DJYXrcuu7R1716/Mr+QLHgYY0rGXnu5qZ8DCQeP5ctdXUU2miUoi3nzzfQHXuzQIWjJ1asXDB8ebEvWHLhbN9cK7JtvUnckvO229NKRD1ZsZYwpGR07uumll7ppOHi0b++a2mYjnFPwHX54ZufwB3OcPbt+ncl779Xff/58t/7gg92yH0CSvcN93jwXcAotsuAhIrsDDwKbARuBi1T1E2/bPcBAYC1wtqpOiiodxpjy4+cQ/vvf3J432QM7W+3auTGvrr468fbw8Ch+fY5ffxLf4mv27OIIHpG9z0NE3gRuV9XRIjIQuEJVDxaRQbhAcqSI7Avcrar1qq7sfR7GmEREYPp0VywUftjn6nGR6t0c6YgPQvvs495Fkuh8Bx/sXqvrvxnRN3t2cB4R6NEDdt0VpkxJde38vM8jyjqPOqCtN98OWOzNHwM8CaCqHwNtRaRjhOkwxpSZKL9XisDQobB6dfbn8ovVGhp4sbKyfuAYMgR69nQBo0cPlwu58EK44ILs05QrUeY8egFvAuL97K+qC0XkFeBmVf3A228sLlcyIe54y3kYY+oRCV6s5H8z790bpk4tbLrC4nMea9bAqlWuqW2qfQFef71+58f0r10COQ8RGSMik0M/U7zp0cAFwO9UdXvg94A/in6iD2VRwhjTaM2bFzoF9T3xRDC/xRaJA0cyxdKXoyFZVZir6mHJtonIP1T1d95+L4jIw96mRUA4E9cV+DLROYYNG7ZpvqqqiqqqqmySa4wpE126xC4/8khh0tGQzp3h1FNhxYrMj9122/T3ra6uptof8TGPoiy2mgpcqKrviMghwC2quk9chXk/4C6rMDfGNIZf5DN/Pmy/fWHTEnbddXDlldC6dep9/c8QHojxk09g770bd+18FVtF2c9jMHCPiFQC64HzAFT1NREZJCJzcE11z4kwDcaYJqDYvmf+8Y/p79urF8yY4Zof9+7t6nN69owubbkSWc4jW5bzMMak4n9rnzvXDd9Rip580nVu/P57GDHCtbT6MmFBfnpKosLcGGMKqUcPN42qc18++K3E/LcRZhM48smChzGmZPnjSJWyrbd204oSexpbsZUxpmT5OY7160ujeWsiq1a51+H6L7jKlhVbGWNMCq+95qalGjjAvVI3V4EjnyznYYwpacuWZdYvotzlK+dhwcMYY8qIFVsZY4wpWhY8jDHGZMyChzHGmIxZ8DDGGJMxCx7GGGMyZsHDGGNMxix4GGOMyZgFD2OMMRmz4GGMMSZjFjyMMcZkzIKHMcaYjFnwMMYYkzELHsYYYzKWVfAQkRNF5HMRqRWRPeO2DRGR2SIyXUQOD60/QkRmiMgsEbkym+sbY4wpjGxzHlOA44F3witFZBfgZGAXYCBwvzgVwH3AT4E+wGki0ivLNJSk6urqQichUvb5Sls5f75y/mz5lFXwUNWZqjobiB87/ljgGVWtUdV5wGygr/czW1Xnq+pG4Blv3yan3P+A7fOVtnL+fOX82fIpqjqPLsDC0PJib138+kXeOmOMMSWkWaodRGQM0DG8ClDgGlV9JdlhCdYpiYOVvS7QGGNKTE5eQysibwOXqeoEb/kqQFX1Vm/5DWAoLqgMU9UjEu0Xd04LKsYY0wj5eA1typxHBsKJHQU8JSJ34oqlegL/weU8eorIDsBXwKnAaYlOlo8Pb4wxpnGyCh4ichxwL7AN8KqITFLVgao6TUSeA6YBG4EL1WVxakXkN8BoXCB5RFWnZ/cRjDHG5FtOiq2MMcY0LUXZw7xUOhKKSFcRGSci00Rkiohc7K3fSkRGi8hMEXlTRNqGjrnH6zw5SUT2CK0/y/u8M0XkzND6PUVksrftrvx+wk1pqBCRCSIyylvuJiIfeWkdISLNvPUtROQZ7/N9KCLbh85RlJ1GRaStiDzvpWuqiOxbTvdPRH7vdeSdLCJPefeoZO+fiDwiIktFZHJoXeT3q6Fr5OHz3eb93ieJyIsi0ia0LaP70ph7n5SqFtUPLqDNAXYAmgOTgF6FTleStHYC9vDmWwMzgV7ArcAV3vorgVu8+YHAv7z5fYGPvPmtgC+AtkA7f97b9jHQ15t/DfhpAT7n74H/A0Z5y88CJ3nzDwDne/MXAPd786fg+voA9AYm4opJu3n3V4rhXgOPA+d48828e1AW9w/oDMwFWoTu21mlfP+A/sAewOTQusjvV7Jr5OnzHQpUePO3ADc39r5keu8bTGu+/pAz+OX1A14PLV8FXFnodKWZ9pHejZ4BdPTWdQKme/MPAqeE9p+OawZ9KvBAaP0D3g3sBEwLrY/ZL0+fqSswBqgiCB7/C/0xb7pfwBvAvt58JbAs0T0EXvf+mQt6r4EtgS8SrC+L+4cLHvNxD8tmuIYshwHLSvn+4R6K4Ydr5PcrwTVm5OvzxW07DvhHY+9LBv+7/0uVzmIstirJjoQi0g33jeEj3B/ZUgBVXQJs6+2W7LM11KlyUYL98+lO4A94/XFEpD3wjarWJUjTps+hqrXAtyKyNcXbaXRHYLmIPOYVyw0Xkc0pk/unql8CtwMLvDR9C0wAVpbJ/fNtm4f7Ff830SHHnyFd5+JyRJDhfcnwf3eld++TKsbgkayDYdESkdbAC8DvVHUNydMb/9n8DpfJPnNBfxciciSwVFUnhdIiCdKloW3xivbz4b6N7wn8TVX3BNbivqWVy/1rhxv+ZwdcLmQLXFFOsjSV2v1LpaTuVyoicg2wUVVH+KsS7Jbq86X7vyuk+OzFGDwWAeHKmq7AlwVKS0pehdMLuKzky97qpSLS0dveCVdMAO6zbRc63P9syT5zsv3z5QDgGBGZC4wABgB3AW3FDXIZn6ZN6RWRSlw58jdk/rnzZRGwUFU/9ZZfxAWTcrl/hwJzVfVr79vkP4H9gXZlcv98+bhfS5JcIy9E5CxgEHB6aHVGn09Vl5P+vW/j3fvkoi6fbER5XyVBZU8LXGXPLoVOVwPpfRK4I27drQRljFcRVOANIqjA60fiCjx/vp237WPcgJKCy64eUaDPeRCxFeanePMPAL/25i8kqHQ7lfoVri2A7gQVewW/17gRoXfy5od6964s7p933SnAZt71HwcuKvX7h6scnpLP/7e4a0RWYZ7k8x0BTAXax+2XyX0JV5infe8bTGe+/pAz/OUdgWu5NBu4qtDpaSCdBwC13s2ZiCtPPgLYGhjrfYYx/h+md8x93o39DNgztP5s7/POAs4Mrd/LewDMBu4u4GcNB4/u3j/ZLO+Psbm3viXwnJfWj4BuoeOHeJ97OnB4sdxrYHfgE+8evuQ9UMrm/uEC4nRgMvAErvVNyd4/4Gnct+XvcXU55+ACQKT3q6G/iTx8vtm4hg8TvJ/7G3tfGnPvk/1YJ0FjjDEZK8Y6D2OMMUXOgocxxpiMWfAwxhiTMQsexhhjMmbBwxhjTMYseBhjjMmYBQ9jjDEZs+BhjDEmY/8PBkAqQHDQlD4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c7b7250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 94\n",
      "Dollar per trade: -8.15106382979e-05\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c2a4d90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 72\n",
      "Dollar per trade: 7.46736111111e-05\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f1124ed7310>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 89\n",
      "Dollar per trade: -6.34213483146e-05\n",
      "-5.06890939325e-07\n",
      "CPU times: user 2 s, sys: 4.85 s, total: 6.85 s\n",
      "Wall time: 41min 55s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "import sys\n",
    "from simulator import (\n",
    "    Simulator, string_to_micro, micro_to_time,\n",
    "    BUY, SELL, SHORT, EXCH_INET,\n",
    "    BOOK_DEPTH1_PRICE, ORDER_EVENTS,\n",
    "    )\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from statsmodels.tsa.ar_model import AR\n",
    "from scipy import integrate \n",
    "from scipy import optimize\n",
    "import random\n",
    "\n",
    "\n",
    "class Ave_Lee(object):\n",
    "    def __init__(self, session, date, tickers, start_time, end_time, pnl, buy_dollars, sell_dollars, \n",
    "                 threshold, interval, training_size, trades, pca_weights, shares, ticker1):\n",
    "        self.session = session\n",
    "        self.date = date\n",
    "        self.ticker = ticker1\n",
    "        self.start_time = start_time\n",
    "        self.end_time = end_time\n",
    "        self.halt_trading = string_to_micro('5m') # close position 5 minutes before trading ends\n",
    "        self.interval = string_to_micro(interval)\n",
    "        self.interval_pnl = string_to_micro('1s')\n",
    "        self.state = 'NULL'\n",
    "        self.pca_tickers = tickers\n",
    "        self.pca_weights = pca_weights\n",
    "        \n",
    "        # variables for BUY or SELL\n",
    "        self.side1 = 0\n",
    "        self.side2 = 0\n",
    "        \n",
    "        # variables for order size\n",
    "        self.order_size1 = 100\n",
    "        self.order_size2 = [0 for i in range(len(self.pca_tickers))]\n",
    "        self.buy_size = 10000 * 10**6\n",
    "        \n",
    "        # variables to keep track of total shares bought/sold and the corresponding amount of money\n",
    "        self.buy_dollars = buy_dollars\n",
    "        self.sell_dollars = sell_dollars\n",
    "        self.shares = shares\n",
    "        \n",
    "        # variables to keep track of how many positions we have opened and closed respectively\n",
    "        self.trades = trades\n",
    "        \n",
    "        # variables used for the fitOU, when to open/close a position and how far we look back\n",
    "        self.dt = 1\n",
    "        self.long_open = threshold[0]\n",
    "        self.long_close = threshold[1]\n",
    "        self.short_open = threshold[0]\n",
    "        self.short_close = threshold[2]\n",
    "        self.training_size = training_size\n",
    "        \n",
    "        # start timer/ call the start_callback function\n",
    "        self.session.add_timer(self.start_time, self.start_callback)\n",
    "        for tick in self.pca_tickers:\n",
    "            self.session.subscribe_ticker_all_feeds(tick)\n",
    "            \n",
    "        # list to store pnl every time we update it\n",
    "        self.pnl = pnl\n",
    "        \n",
    "        # dictionary to store time, midprices and the returns each timestep\n",
    "        self.results = {'time': []}\n",
    "        self.pca = {}\n",
    "        self.pca['Portfolio'] = []\n",
    "        \n",
    "        self.results[self.ticker] = []\n",
    "        self.results['return {}'.format(self.ticker)] = []\n",
    "        \n",
    "        for tick in self.pca_tickers:\n",
    "            self.pca['Midmarket {}'.format(tick)] = []\n",
    "            self.pca['Return {}'.format(tick)] = []\n",
    "    \n",
    "    \n",
    "    def start_callback(self, time):\n",
    "        for tick in self.pca_tickers:\n",
    "            self.session.subscribe_event(tick, ORDER_EVENTS, self.event_callback)\n",
    "            \n",
    "        self.session.add_timer(time, self.timer_callback_pnl)\n",
    "        self.session.add_timer(time, self.timer_callback_algo)\n",
    "        \n",
    "    \n",
    "    def event_callback(self, tick, event_params):\n",
    "        # call the execution manager whenever we have an execution\n",
    "        self.process_executions(event_params)\n",
    "        \n",
    "        \n",
    "    def timer_callback_pnl(self, time):   \n",
    "        # update pnl every second to see how it evolves over the day            \n",
    "        pnl = self.get_pnl()\n",
    "        self.pnl.append(pnl / 1000000.0)\n",
    "        \n",
    "        if time < self.end_time:\n",
    "            self.session.add_timer(time + self.interval_pnl, self.timer_callback_pnl)\n",
    "            \n",
    "    \n",
    "    def timer_callback_algo(self, time):\n",
    "        # append the midprices\n",
    "        self.results[self.ticker].append(self.get_midmarket(self.ticker) / 1000000.0)\n",
    "\n",
    "        for tick in self.pca_tickers:\n",
    "            self.pca['Midmarket {}'.format(tick)].append(self.get_midmarket(tick) / 1000000.0)\n",
    "        \n",
    "        # start calculating returns after 1 second\n",
    "        if time > self.start_time + 10**6:\n",
    "            self.results['return {}'.format(self.ticker)].append(np.float(returns(self.results[self.ticker][-2:])))\n",
    "            \n",
    "            temp_return = 0\n",
    "            for i in range(len(self.pca_tickers)):\n",
    "                tick = self.pca_tickers[i]\n",
    "                self.pca['Return {}'.format(tick)].append(np.float(returns(self.pca['Midmarket {}'.format(tick)][-2:])))\n",
    "                temp_return += self.pca['Return {}'.format(tick)][-1] * self.pca_weights[i]\n",
    "                \n",
    "            self.pca['Portfolio'].append(temp_return)\n",
    "            \n",
    "        self.results['time'].append(micro_to_time(time))\n",
    "\n",
    "        # start collecting signals after training_size * 1 second\n",
    "        if time > self.start_time + self.halt_trading + self.training_size * 10**6:\n",
    "            # collect the last training_size of returns\n",
    "            returns1 = self.results['return {}'.format(self.ticker)][-self.training_size:]\n",
    "            returns2 = self.pca['Portfolio'][-self.training_size:]\n",
    "            \n",
    "            # regress the returns and fit the residuals, calculate the s-score\n",
    "            residuals, a,b = regress(returns1,returns2)\n",
    "            kappa, m, sigma, sigmaeq = fitOU(residuals, self.training_size)\n",
    "            s = sscore(m, sigmaeq)\n",
    "            # find current net position (=0: neutral, <0: we are short asset 1, >0: we are long asset 1)\n",
    "            pos = self.shares[self.ticker]['B'] - self.shares[self.ticker]['S']           \n",
    "            # feature to check if we have orders at the market before we open a position\n",
    "            orders = self.session.get_all_orders()\n",
    "            \n",
    "            # get the best bid and offer\n",
    "            bid1, ask1 = self.session.get_inside_market(self.ticker)\n",
    "            if not orders and b > 0 and kappa > 0 and sigma > 0 and time < self.end_time - self.halt_trading:\n",
    "                if pos == 0:\n",
    "                    if s < -self.long_open:\n",
    "                        self.side1 = BUY\n",
    "                        self.side2 = SELL\n",
    "                        price1 = ask1['price']\n",
    "                        self.order_size1 = int(self.buy_size / price1)\n",
    "                        self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                        for i in range(len(self.pca_tickers)):\n",
    "                            ticker = self.pca_tickers[i]\n",
    "                            bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                            price2 = bid2['price']\n",
    "                            # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                            self.order_size2[i] = int(b * self.buy_size * self.pca_weights[i] / price2)\n",
    "                            self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "\n",
    "                        self.trades += 1 \n",
    "                    elif s > self.short_open:\n",
    "                        self.side1 = SELL\n",
    "                        self.side2 = BUY\n",
    "                        price1 = bid1['price']\n",
    "                        self.order_size1 = int(self.buy_size / price1)\n",
    "                        self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                        for i in range(len(self.pca_tickers)):\n",
    "                            ticker = self.pca_tickers[i]\n",
    "                            bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                            price2 = ask2['price']\n",
    "                            # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                            self.order_size2[i] = int(b * self.buy_size * self.pca_weights[i] / price2)\n",
    "                            self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "\n",
    "                        self.trades += 1 \n",
    "                        \n",
    "                elif pos < 0 and s < self.short_close:\n",
    "                    self.side1 = BUY\n",
    "                    self.side2 = SELL\n",
    "                    price1 = ask1['price']\n",
    "                    self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                    for i in range(len(self.pca_tickers)):\n",
    "                        ticker = self.pca_tickers[i]\n",
    "                        bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                        price2 = bid2['price']\n",
    "                        # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                        self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    " \n",
    "                elif pos > 0 and s > -self.long_close:\n",
    "                    self.side1 = SELL\n",
    "                    self.side2 = BUY\n",
    "                    price1 = bid1['price']\n",
    "                    self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                    for i in range(len(self.pca_tickers)):\n",
    "                        ticker = self.pca_tickers[i]\n",
    "                        bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                        price2 = ask2['price']\n",
    "                        # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                        self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "            \n",
    "        if time >= self.end_time - self.halt_trading and pos != 0:\n",
    "            if pos < 0:\n",
    "                self.side1 = BUY\n",
    "                self.side2 = SELL\n",
    "                price1 = ask1['price']\n",
    "                self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                for i in range(len(self.pca_tickers)):\n",
    "                    ticker = self.pca_tickers[i]\n",
    "                    bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                    price2 = bid2['price']\n",
    "                    # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                    self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "                \n",
    "            elif pos > 0:\n",
    "                self.side1 = SELL\n",
    "                self.side2 = BUY\n",
    "                price1 = bid1['price']\n",
    "                self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                for i in range(len(self.pca_tickers)):\n",
    "                    ticker = self.pca_tickers[i]\n",
    "                    bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                    price2 = ask2['price']\n",
    "                    # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                    self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)    \n",
    "    \n",
    "        # reset the timer unless we are done \n",
    "        if time < self.end_time:\n",
    "            self.session.add_timer(time + self.interval, self.timer_callback_algo)\n",
    "                \n",
    "            \n",
    "    def process_executions(self, evp):\n",
    "        # make sure that we only update if we have executed any orders\n",
    "        # when we want to add transaction costs we do it in this function\n",
    "        if 'executed_orders' in evp:\n",
    "            time = self.session.current_time()\n",
    "            for ex in evp['executed_orders']:\n",
    "                order = ex['order']\n",
    "                side = order['side']\n",
    "                ticker = order['ticker']\n",
    "                        \n",
    "                self.shares[ticker][side] += ex['quantity_executed']\n",
    "                if side == 'B':\n",
    "                    self.buy_dollars += ex['quantity_executed'] * self.get_midmarket(ticker)\n",
    "                else:\n",
    "                    self.sell_dollars += ex['quantity_executed'] * self.get_midmarket(ticker)\n",
    "                pnl = self.get_pnl()\n",
    "               \n",
    "                \n",
    "    def get_midmarket(self, ticker):\n",
    "        bid, ask = self.session.get_inside_market(ticker)\n",
    "        return (bid['price'] + ask['price']) / 2.0\n",
    "    \n",
    "    \n",
    "    def get_pnl(self):\n",
    "        # mark to the midmarket\n",
    "        pnl = self.sell_dollars - self.buy_dollars\n",
    "        for ticker in self.pca_tickers:\n",
    "            mid = self.get_midmarket(ticker)\n",
    "            pnl += (self.shares[ticker]['B'] - self.shares[ticker]['S']) * mid\n",
    "        return pnl\n",
    "    \n",
    "    \n",
    "    def end(self):\n",
    "        plot_graph(self.pnl, self.ticker, 'PCA')\n",
    "        return (self.pnl, self.buy_dollars, self.sell_dollars, self.trades, self.shares)\n",
    "\n",
    "\n",
    "def regress(returns1,returns2):\n",
    "    x = np.asarray(returns1).reshape(-1,1)\n",
    "    y = np.asarray(returns2).reshape(-1,1)\n",
    "    model = LinearRegression()\n",
    "    model.fit(x,y)\n",
    "    a = model.intercept_[0]\n",
    "    b = model.coef_[0,0]\n",
    "    residuals = y-model.predict(x)\n",
    "    return residuals, a,b\n",
    "\n",
    "\n",
    "def returns(midprices):\n",
    "    log_return = np.diff(np.log(midprices), axis=-1)\n",
    "    return log_return\n",
    "\n",
    "\n",
    "def fitOU(residual, training_size):\n",
    "    dt = 1\n",
    "    ou = np.cumsum(residual)\n",
    "    model = AR(ou)\n",
    "    fittedmodel = model.fit(maxlag=1, disp=-1)  \n",
    "    a = fittedmodel.params[0]\n",
    "    b = fittedmodel.params[1]\n",
    "    var =  fittedmodel.sigma2\n",
    "    if b > 0.0 and b < np.exp(-2.0/training_size):\n",
    "        kappa = -np.log(b) / dt    \n",
    "        m = a / (1.0 - np.exp(-kappa * dt))\n",
    "        sigma = np.sqrt(var * 2.0 * kappa / (1.0 - np.exp(-2.0 * kappa * dt)))\n",
    "        sigmaeq = np.sqrt(var / (1.0 - np.exp(-2.0 * kappa * dt)));\n",
    "        return kappa, m, sigma, sigmaeq\n",
    "    else:\n",
    "        return -1.0,0,0,0\n",
    "\n",
    "\n",
    "def sscore(m, sigmaeq):\n",
    "    if sigmaeq != 0:\n",
    "        return -m/sigmaeq\n",
    "    elif m>0:\n",
    "        return 10000000\n",
    "    else:\n",
    "        return -10000000\n",
    "\n",
    "\n",
    "def plot_graph(pnl, ticker1, ticker2):\n",
    "    pnl_array = np.asarray(pnl)\n",
    "    plt.plot(pnl_array)\n",
    "    plt.title('PnL for {} vs {}'.format(ticker1, ticker2))\n",
    "    plt.show()\n",
    "    return None\n",
    "    \n",
    "\n",
    "# generalize the process of simulating the algorithm\n",
    "start_time = string_to_micro(\"9:30\")\n",
    "end_time = string_to_micro(\"16:00\")\n",
    "dates = ['20170418', '20170419', '20170420', '20170421', '20170424']\n",
    "        #['20170410', '20170411', '20170412', '20170413', '20170417'] \n",
    "         #'20170418', '20170419', '20170420', '20170421', '20170424']\n",
    "\n",
    "pca_tickers = ['AAPL', 'MSFT', 'GOOGL', 'FB', 'INTC', 'CSCO', 'NVDA', \n",
    "               'ADBE', 'TXN', 'AVGO', 'QCOM', 'MU', 'BIDU']\n",
    "tickers = ['AAPL', 'INTC', 'NVDA', 'TXN', 'QCOM', 'MU']\n",
    "\n",
    "pca_weights = [0.20616074, 0.29121571, 0.28953237, 0.25233613, 0.31817724,\n",
    "                 0.28766794, 0.24683757, 0.30186135, 0.31492926, 0.29388122,\n",
    "                 0.27183746, 0.27004335, 0.23829469]\n",
    "pca_weights = pca_weights / np.sum(pca_weights)\n",
    "\n",
    "threshold = [1.4790482779731475, 0.44463939623560345, 0.7982635907763361]\n",
    "interval = '9s'\n",
    "training_size = 279\n",
    "print(threshold, interval, training_size)\n",
    "avg_dollar_trade = 0\n",
    "\n",
    "for ticker1 in tickers:   \n",
    "    pnl = []         \n",
    "    buy_dollars = 0\n",
    "    sell_dollars = 0\n",
    "    trades = 0\n",
    "    shares = {}\n",
    "    for tick in pca_tickers:\n",
    "        shares[tick] = {'B': 0, 'S': 0}\n",
    "        \n",
    "    for date in dates:\n",
    "        sim = Simulator(Ave_Lee)\n",
    "        (pnl, buy_dollars, sell_dollars, trades, shares) = sim.run(date, pca_tickers, use_om=True, \n",
    "                start_time=start_time, end_time=end_time, pnl=pnl, buy_dollars=buy_dollars, \n",
    "                sell_dollars=sell_dollars, threshold=threshold, interval=interval, training_size=training_size, \n",
    "                trades=trades, pca_weights=pca_weights, shares=shares, ticker1=ticker1)\n",
    "        \n",
    "    plot_graph(pnl, ticker1, 'PCA')\n",
    "    print('Number of trades: ' + str(trades))\n",
    "    if trades > 0:   \n",
    "        dollar_trade = pnl[-1] / (10000 * trades)  \n",
    "        print('Dollar per trade: ' + str(dollar_trade))\n",
    "        \n",
    "    avg_dollar_trade += dollar_trade / len(ticker1)\n",
    "print(avg_dollar_trade)\n",
    "             "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best dollar per trade: -2.23052944509e-05\n",
      "[1.4790482779731475, 0.44463939623560345, 0.7982635907763361]\n",
      "9s\n",
      "279\n"
     ]
    }
   ],
   "source": [
    "print('Best dollar per trade: ' + str(best_dollar_trade))\n",
    "print(best_threshold)\n",
    "print(best_interval)\n",
    "print(best_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "PCA combined with stochastic control"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1.9, '9s', 279)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c215510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 10\n",
      "Dollar per trade: 0.0011044\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112ab440d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 12\n",
      "Dollar per trade: -0.00229858333333\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f117c5946d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 18\n",
      "Dollar per trade: 0.00321772222222\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c4fa710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 16\n",
      "Dollar per trade: -0.000304375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c21fbd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 12\n",
      "Dollar per trade: 0.000764375\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n",
      "/usr/local/lib/python2.7/dist-packages/scipy/integrate/quadpack.py:356: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.\n",
      "  If increasing the limit yields no improvement it is advised to analyze \n",
      "  the integrand in order to determine the difficulties.  If the position of a \n",
      "  local difficulty can be determined (singularity, discontinuity) one will \n",
      "  probably gain from splitting up the interval and calling the integrator \n",
      "  on the subranges.  Perhaps a special-purpose integrator should be used.\n",
      "  warnings.warn(msg, IntegrationWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f117c525a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of trades: 12\n",
      "Dollar per trade: 0.00274108333333\n",
      "0.00087077037037\n",
      "CPU times: user 1.78 s, sys: 3.26 s, total: 5.04 s\n",
      "Wall time: 1h 39min 37s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "##The parameters are the same as in the other file, BUT threshold is removed, and instead we have to choose constans rho>0 (urgency parameter) and c\n",
    "## and c>0 (a measure of the transaction costs). I have incorportared these two parameters to the class constructor and removed thresholds\n",
    "## rho should be close to 0 (I have tried 0.01 and 0.001) and c as well (I have tried 0.01)\n",
    "\n",
    "##The only differences with the other file are the block with all the new functions to compute the thresholds, and then in the execution part\n",
    "#that instead of comparing s with fixed thresholds, we compare the last residual with a threshold that deppends on the OU parameters\n",
    "\n",
    "\n",
    "import sys\n",
    "from simulator import (\n",
    "    Simulator, string_to_micro, micro_to_time,\n",
    "    BUY, SELL, SHORT, EXCH_INET,\n",
    "    BOOK_DEPTH1_PRICE, ORDER_EVENTS,\n",
    "    )\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from statsmodels.tsa.ar_model import AR\n",
    "from scipy import integrate \n",
    "from scipy import optimize\n",
    "\n",
    "class Ave_Lee(object):\n",
    "    def __init__(self, session, date, tickers, start_time, end_time, pnl, buy_dollars, sell_dollars,\n",
    "                 interval, training_size, trades, pca_weights, shares, ticker1, rho, c):\n",
    "        self.session = session\n",
    "        self.date = date\n",
    "        self.ticker = ticker1\n",
    "        self.start_time = start_time\n",
    "        self.end_time = end_time\n",
    "        self.halt_trading = string_to_micro('5m') # close position 5 minutes before trading ends\n",
    "        self.interval = string_to_micro(interval)\n",
    "        self.interval_pnl = string_to_micro('1s')\n",
    "        self.state = 'NULL'\n",
    "        self.pca_tickers = tickers\n",
    "        self.pca_weights = pca_weights\n",
    "        \n",
    "        # variables for BUY or SELL\n",
    "        self.side1 = 0\n",
    "        self.side2 = 0\n",
    "        \n",
    "        # variables for order size\n",
    "        self.order_size1 = 100\n",
    "        self.order_size2 = [0 for i in range(len(self.pca_tickers))]\n",
    "        self.buy_size = 10000 * 10**6\n",
    "        \n",
    "        # variables to keep track of total shares bought/sold and the corresponding amount of money\n",
    "        self.buy_dollars = buy_dollars\n",
    "        self.sell_dollars = sell_dollars\n",
    "        self.shares = shares\n",
    "        \n",
    "        # variables to keep track of how many positions we have opened and closed respectively\n",
    "        self.trades = trades\n",
    "        \n",
    "        # variables used for the fitOU, when to open/close a position and how far we look back\n",
    "        self.dt = 1\n",
    "        self.rho = rho\n",
    "        self.c = c\n",
    "        self.training_size = training_size\n",
    "        \n",
    "        # start timer/ call the start_callback function\n",
    "        self.session.add_timer(self.start_time, self.start_callback)\n",
    "        for tick in self.pca_tickers:\n",
    "            self.session.subscribe_ticker_all_feeds(tick)\n",
    "            \n",
    "        # list to store pnl every time we update it\n",
    "        self.pnl = pnl\n",
    "        \n",
    "        # dictionary to store time, midprices and the returns each timestep\n",
    "        self.results = {'time': []}\n",
    "        self.pca = {}\n",
    "        self.pca['Portfolio'] = []\n",
    "        \n",
    "        self.results[self.ticker] = []\n",
    "        self.results['return {}'.format(self.ticker)] = []\n",
    "        \n",
    "        for tick in self.pca_tickers:\n",
    "            self.pca['Midmarket {}'.format(tick)] = []\n",
    "            self.pca['Return {}'.format(tick)] = []\n",
    "    \n",
    "    \n",
    "    def start_callback(self, time):\n",
    "        for tick in self.pca_tickers:\n",
    "            self.session.subscribe_event(tick, ORDER_EVENTS, self.event_callback)\n",
    "            \n",
    "        self.session.add_timer(time, self.timer_callback_pnl)\n",
    "        self.session.add_timer(time, self.timer_callback_algo)\n",
    "        \n",
    "    \n",
    "    def event_callback(self, tick, event_params):\n",
    "        # call the execution manager whenever we have an execution\n",
    "        self.process_executions(event_params)\n",
    "        \n",
    "        \n",
    "    def timer_callback_pnl(self, time):   \n",
    "        # update pnl every second to see how it evolves over the day            \n",
    "        pnl = self.get_pnl()\n",
    "        self.pnl.append(pnl / 1000000.0)\n",
    "        \n",
    "        if time < self.end_time:\n",
    "            self.session.add_timer(time + self.interval_pnl, self.timer_callback_pnl)\n",
    "            \n",
    "    \n",
    "    def timer_callback_algo(self, time):\n",
    "        # append the midprices\n",
    "        self.results[self.ticker].append(self.get_midmarket(self.ticker) / 1000000.0)\n",
    "\n",
    "        for tick in self.pca_tickers:\n",
    "            self.pca['Midmarket {}'.format(tick)].append(self.get_midmarket(tick) / 1000000.0)\n",
    "        \n",
    "        # start calculating returns after 1 second\n",
    "        if time > self.start_time + 10**6:\n",
    "            self.results['return {}'.format(self.ticker)].append(np.float(returns(self.results[self.ticker][-2:])))\n",
    "            \n",
    "            temp_return = 0\n",
    "            for i in range(len(self.pca_tickers)):\n",
    "                tick = self.pca_tickers[i]\n",
    "                self.pca['Return {}'.format(tick)].append(np.float(returns(self.pca['Midmarket {}'.format(tick)][-2:])))\n",
    "                temp_return += self.pca['Return {}'.format(tick)][-1] * self.pca_weights[i]\n",
    "                \n",
    "            self.pca['Portfolio'].append(temp_return)\n",
    "            \n",
    "        self.results['time'].append(micro_to_time(time))\n",
    "\n",
    "        # start collecting signals after training_size * 1 second\n",
    "        if time > self.start_time + self.halt_trading + self.training_size * 10**6:\n",
    "            # collect the last training_size of returns\n",
    "            returns1 = self.results['return {}'.format(self.ticker)][-self.training_size:]\n",
    "            returns2 = self.pca['Portfolio'][-self.training_size:]\n",
    "            \n",
    "            # regress the returns and fit the residuals, calculate the s-score\n",
    "            residuals, a,b = regress(returns1,returns2)\n",
    "            kappa, m, sigma, sigmaeq = fitOU(residuals, self.training_size)\n",
    "            \n",
    "            # find current net position (=0: neutral, <0: we are short asset 1, >0: we are long asset 1)\n",
    "            pos = self.shares[self.ticker]['B'] - self.shares[self.ticker]['S']           \n",
    "            # feature to check if we have orders at the market before we open a position\n",
    "            orders = self.session.get_all_orders()\n",
    "            \n",
    "            residual = 3 * residuals[-1]\n",
    "            \n",
    "            # get the best bid and offer\n",
    "            bid1, ask1 = self.session.get_inside_market(self.ticker)\n",
    "            if not orders and b > 0 and kappa > 0 and sigma > 0 and time < self.end_time - self.halt_trading:\n",
    "                if pos == 0:\n",
    "                    if residual < long_open(self.rho,kappa,m,sigma, self.c):\n",
    "                        self.side1 = BUY\n",
    "                        self.side2 = SELL\n",
    "                        price1 = ask1['price']\n",
    "                        self.order_size1 = int(self.buy_size / price1)\n",
    "                        self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                        for i in range(len(self.pca_tickers)):\n",
    "                            ticker = self.pca_tickers[i]\n",
    "                            bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                            price2 = bid2['price']\n",
    "                            # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                            self.order_size2[i] = int(b * self.buy_size * self.pca_weights[i] / price2)\n",
    "                            self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "\n",
    "                        self.trades += 1 \n",
    "                    elif residual > short_open(self.rho,kappa,m,sigma, self.c):\n",
    "                        self.side1 = SELL\n",
    "                        self.side2 = BUY\n",
    "                        price1 = bid1['price']\n",
    "                        self.order_size1 = int(self.buy_size / price1)\n",
    "                        self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                        for i in range(len(self.pca_tickers)):\n",
    "                            ticker = self.pca_tickers[i]\n",
    "                            bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                            price2 = ask2['price']\n",
    "                            # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                            self.order_size2[i] = int(b * self.buy_size * self.pca_weights[i] / price2)\n",
    "                            self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "\n",
    "                        self.trades += 1 \n",
    "                        \n",
    "                elif pos < 0 and residual < short_close(self.rho,kappa,m,sigma, self.c):\n",
    "                    self.side1 = BUY\n",
    "                    self.side2 = SELL\n",
    "                    price1 = ask1['price']\n",
    "                    self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                    for i in range(len(self.pca_tickers)):\n",
    "                        ticker = self.pca_tickers[i]\n",
    "                        bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                        price2 = bid2['price']\n",
    "                        # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                        self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    " \n",
    "                elif pos > 0 and residual > long_close(self.rho, kappa, m, sigma, self.c):\n",
    "                    self.side1 = SELL\n",
    "                    self.side2 = BUY\n",
    "                    price1 = bid1['price']\n",
    "                    self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                    for i in range(len(self.pca_tickers)):\n",
    "                        ticker = self.pca_tickers[i]\n",
    "                        bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                        price2 = ask2['price']\n",
    "                        # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                        self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "            \n",
    "        if time >= self.end_time - self.halt_trading and pos != 0:\n",
    "            if pos < 0:\n",
    "                self.side1 = BUY\n",
    "                self.side2 = SELL\n",
    "                price1 = ask1['price']\n",
    "                self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                for i in range(len(self.pca_tickers)):\n",
    "                    ticker = self.pca_tickers[i]\n",
    "                    bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                    price2 = bid2['price']\n",
    "                    # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                    self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)\n",
    "                \n",
    "            elif pos > 0:\n",
    "                self.side1 = SELL\n",
    "                self.side2 = BUY\n",
    "                price1 = bid1['price']\n",
    "                self.session.add_order(self.ticker, self.side1, self.order_size1, price1, exchange=EXCH_INET)\n",
    "                for i in range(len(self.pca_tickers)):\n",
    "                    ticker = self.pca_tickers[i]\n",
    "                    bid2, ask2 = self.session.get_inside_market(ticker)\n",
    "                    price2 = ask2['price']\n",
    "                    # make the portfolio self financing by making sure we sell for as much as we buy\n",
    "                    self.session.add_order(ticker, self.side2, self.order_size2[i], price2, exchange=EXCH_INET)    \n",
    "    \n",
    "        # reset the timer unless we are done \n",
    "        if time < self.end_time:\n",
    "            self.session.add_timer(time + self.interval, self.timer_callback_algo)\n",
    "                \n",
    "            \n",
    "    def process_executions(self, evp):\n",
    "        # make sure that we only update if we have executed any orders\n",
    "        # when we want to add transaction costs we do it in this function\n",
    "        if 'executed_orders' in evp:\n",
    "            time = self.session.current_time()\n",
    "            for ex in evp['executed_orders']:\n",
    "                order = ex['order']\n",
    "                side = order['side']\n",
    "                ticker = order['ticker']\n",
    "                        \n",
    "                self.shares[ticker][side] += ex['quantity_executed']\n",
    "                if side == 'B':\n",
    "                    self.buy_dollars += ex['quantity_executed'] * self.get_midmarket(ticker)\n",
    "                else:\n",
    "                    self.sell_dollars += ex['quantity_executed'] * self.get_midmarket(ticker)\n",
    "                pnl = self.get_pnl()\n",
    "               \n",
    "                \n",
    "    def get_midmarket(self, ticker):\n",
    "        bid, ask = self.session.get_inside_market(ticker)\n",
    "        return (bid['price'] + ask['price']) / 2.0\n",
    "    \n",
    "    \n",
    "    def get_pnl(self):\n",
    "        # mark to the midmarket\n",
    "        pnl = self.sell_dollars - self.buy_dollars\n",
    "        for ticker in self.pca_tickers:\n",
    "            mid = self.get_midmarket(ticker)\n",
    "            pnl += (self.shares[ticker]['B'] - self.shares[ticker]['S']) * mid\n",
    "        return pnl\n",
    "    \n",
    "    \n",
    "    def end(self):\n",
    "        return (self.pnl, self.buy_dollars, self.sell_dollars, self.trades, self.shares)\n",
    "\n",
    "\n",
    "def regress(returns1,returns2):\n",
    "    x = np.asarray(returns1).reshape(-1,1)\n",
    "    y = np.asarray(returns2).reshape(-1,1)\n",
    "    model = LinearRegression()\n",
    "    model.fit(x,y)\n",
    "    a = model.intercept_[0]\n",
    "    b = model.coef_[0,0]\n",
    "    residuals = y-model.predict(x)\n",
    "    return residuals, a,b\n",
    "\n",
    "\n",
    "def returns(midprices):\n",
    "    log_return = np.diff(np.log(midprices), axis=-1)\n",
    "    return log_return\n",
    "\n",
    "\n",
    "def fitOU(residual, training_size):\n",
    "    dt = 1\n",
    "    ou = np.cumsum(residual)\n",
    "    model = AR(ou)\n",
    "    fittedmodel = model.fit(maxlag=1, disp=-1)  \n",
    "    a = fittedmodel.params[0]\n",
    "    b = fittedmodel.params[1]\n",
    "    var =  fittedmodel.sigma2\n",
    "    if b > 0.0 and b < np.exp(-2.0/training_size):\n",
    "        kappa = -np.log(b) / dt    \n",
    "        m = a / (1.0 - np.exp(-kappa * dt))\n",
    "        sigma = np.sqrt(var * 2.0 * kappa / (1.0 - np.exp(-2.0 * kappa * dt)))\n",
    "        sigmaeq = np.sqrt(var / (1.0 - np.exp(-2.0 * kappa * dt)));\n",
    "        return kappa, m, sigma, sigmaeq\n",
    "    else:\n",
    "        return -1.0,0,0,0\n",
    "\n",
    "\n",
    "def plot_graph(pnl, ticker1, ticker2):\n",
    "    pnl_array = np.asarray(pnl)\n",
    "    plt.plot(pnl_array)\n",
    "    plt.title('PnL for {} vs {}'.format(ticker1, ticker2))\n",
    "    plt.show()\n",
    "    return None\n",
    "\n",
    "\n",
    "#### Functions to compute thresholds\n",
    "def fplus(u,rho,epsilon,kappa, theta, sigma):\n",
    "    #return u**(rho/kappa-1)*np.exp(-np.sqrt(2*kappa/sigma**2)*(theta-epsilon)*u-u**2/2)\n",
    "    return sigma**(rho/kappa)*u**(rho/kappa-1)*np.exp(-np.sqrt(2*kappa)*(theta-epsilon)*u-(u*sigma)**2/2)\n",
    "\n",
    "\n",
    "def fplus_der(u,rho,epsilon,kappa, theta, sigma):\n",
    "    #return np.sqrt(2*kappa/sigma**2)*u**(rho/kappa)*np.exp(-np.sqrt(2*kappa/sigma**2)*(theta-epsilon)*u-u**2/2)\n",
    "    return sigma**(rho/kappa)*np.sqrt(2*kappa)*u**(rho/kappa)*np.exp(-np.sqrt(2*kappa)*(theta-epsilon)*u-(u*sigma)**2/2)\n",
    "\n",
    "\n",
    "def fminus(u,rho,epsilon,kappa, theta, sigma):\n",
    "    #return u**(rho/kappa-1)*np.exp(np.sqrt(2*kappa/sigma**2)*(theta-epsilon)*u-u**2/2)\n",
    "    return sigma**(rho/kappa)*u**(rho/kappa-1)*np.exp(np.sqrt(2*kappa)*(theta-epsilon)*u-(u*sigma)**2/2)\n",
    "\n",
    "\n",
    "def fminus_der(u,rho,epsilon,kappa, theta, sigma):\n",
    "    #return -np.sqrt(2*kappa/sigma**2)*u**(rho/kappa)*np.exp(np.sqrt(2*kappa/sigma**2)*(theta-epsilon)*u-u**2/2)\n",
    "    return -sigma**(rho/kappa)*np.sqrt(2*kappa)*u**(rho/kappa)*np.exp(-np.sqrt(2*kappa)*(theta-epsilon)*u-(u*sigma)**2/2)\n",
    "\n",
    "\n",
    "def Fplus(epsilon,rho, kappa, theta, sigma):\n",
    "    integral,error = integrate.quad(fplus,0, np.inf, args = (rho,epsilon,kappa,theta,sigma,))\n",
    "    return integral\n",
    "\n",
    "\n",
    "def Fminus(epsilon,rho, kappa, theta, sigma):\n",
    "    integral,error = integrate.quad(fminus,0, np.inf, args = (rho,epsilon,kappa,theta,sigma,))\n",
    "    return integral\n",
    "\n",
    "\n",
    "def Fplus_der(epsilon,rho, kappa, theta, sigma):\n",
    "    integral,error = integrate.quad(fplus_der,0, np.inf, args = (rho,epsilon,kappa,theta,sigma,))\n",
    "    return integral\n",
    "\n",
    "\n",
    "def Fminus_der(epsilon,rho, kappa, theta, sigma):\n",
    "    integral,error = integrate.quad(fminus_der,0, np.inf, args = (rho,epsilon,kappa,theta,sigma,))\n",
    "    return integral\n",
    "\n",
    "\n",
    "def long_close_function(epsilon,rho, kappa, theta, sigma,c):\n",
    "    return (epsilon[0] - c)*Fplus_der(epsilon[0],rho, kappa, theta, sigma)-Fplus(epsilon[0],rho, kappa, theta, sigma)\n",
    "\n",
    "\n",
    "def long_close(rho, kappa, theta, sigma, c): #epsilon^*+\n",
    "    result = optimize.root(long_close_function,[1], args=(rho, kappa, theta, sigma, c,), method = 'lm')\n",
    "    if result.success:\n",
    "        return result.x[0]\n",
    "    else:\n",
    "        return (kappa*theta+c*rho)/(rho+kappa)\n",
    "\n",
    "    \n",
    "def short_close_function(epsilon,rho, kappa, theta, sigma,c):\n",
    "    return (epsilon[0] + c)*Fminus_der(epsilon[0],rho, kappa, theta, sigma)-Fminus(epsilon[0],rho, kappa, theta, sigma)\n",
    "\n",
    "\n",
    "def short_close(rho, kappa, theta, sigma, c): #epsilon^*-\n",
    "    result = optimize.root(short_close_function,[-1], args=(rho, kappa, theta, sigma, c,), method = 'lm')\n",
    "    if result.success:\n",
    "        return result.x[0]\n",
    "    else:\n",
    "        return (kappa*theta-c*rho)/(rho+kappa)\n",
    "\n",
    "    \n",
    "def Hplus(epsilon,kappa,theta, sigma,rho,c):\n",
    "    epsilonplus = long_close(rho, kappa, theta, sigma,c)\n",
    "    if epsilon >= epsilonplus:\n",
    "        return epsilon - c\n",
    "    else:\n",
    "        return (epsilonplus - c)*Fplus(epsilon,rho, kappa, theta, sigma)/Fplus(epsilonplus,rho, kappa, theta, sigma)\n",
    "    \n",
    "    \n",
    "def Hplus_der(epsilon,kappa,theta, sigma,rho,c):\n",
    "    epsilonplus = long_close(rho, kappa, theta, sigma,c)\n",
    "    if epsilon >= epsilonplus:\n",
    "        return 1\n",
    "    else:\n",
    "        return (epsilonplus - c)*Fplus_der(epsilon,rho, kappa, theta, sigma)/Fplus(epsilonplus,rho, kappa, theta, sigma)\n",
    "\n",
    "    \n",
    "def Hminus(epsilon,kappa,theta, sigma,rho, c):\n",
    "    epsilonminus = short_close(rho, kappa, theta, sigma,c)\n",
    "    if epsilon <= epsilonminus:\n",
    "        return -epsilon - c\n",
    "    else:\n",
    "        return -(epsilonminus + c)*Fminus(epsilon,rho, kappa, theta, sigma)/Fminus(epsilonminus,rho, kappa, theta, sigma)\n",
    "    \n",
    "    \n",
    "def Hminus_der(epsilon,kappa,theta, sigma,rho, c):\n",
    "    epsilonminus = short_close(rho, kappa, theta, sigma,c)\n",
    "    if epsilon <= epsilonminus:\n",
    "        return -1\n",
    "    else:\n",
    "        return -(epsilonminus + c)*Fminus_der(epsilon,rho, kappa, theta, sigma)/Fminus(epsilonminus,rho, kappa, theta, sigma)\n",
    "\n",
    "    \n",
    "def long_short_open_function(epsilon,rho,kappa,theta,sigma, c):\n",
    "    minusepsilon = epsilon[0]\n",
    "    plusepsilon = epsilon[1]\n",
    "    \n",
    "    numA = Fminus(minusepsilon,rho, kappa, theta, sigma)*(Hplus(plusepsilon,kappa,theta,sigma,rho,c)-plusepsilon-c)-Fminus(plusepsilon,rho, kappa, theta, sigma)*(Hminus(minusepsilon,kappa,theta,sigma,rho,c)+minusepsilon-c)\n",
    "    denA = Fplus(plusepsilon,rho, kappa, theta, sigma)*Fminus(minusepsilon,rho, kappa, theta, sigma)-Fplus(minusepsilon,rho, kappa, theta, sigma)*Fminus(plusepsilon,rho, kappa, theta, sigma)\n",
    "    A = numA/denA\n",
    "\n",
    "    numB = Fplus(minusepsilon,rho, kappa, theta, sigma)*(Hplus(plusepsilon,kappa,theta,sigma,rho,c)-plusepsilon-c)-Fplus(plusepsilon,rho, kappa, theta, sigma)*(Hminus(minusepsilon,kappa,theta,sigma,rho,c)+minusepsilon-c)\n",
    "    denB = Fminus(plusepsilon,rho, kappa, theta, sigma)*Fplus(minusepsilon,rho, kappa, theta, sigma)-Fminus(minusepsilon,rho, kappa, theta, sigma)*Fplus(plusepsilon,rho, kappa, theta, sigma)\n",
    "    B = numB/denB\n",
    "    \n",
    "    y_0 = A*Fplus_der(plusepsilon,rho, kappa, theta, sigma)+B*Fminus_der(plusepsilon,rho, kappa, theta, sigma)+1-Hplus_der(plusepsilon,kappa,theta, sigma,rho, c)\n",
    "    y_1 = A*Fplus_der(minusepsilon,rho, kappa, theta, sigma)+B*Fminus_der(minusepsilon,rho, kappa, theta, sigma)-1-Hminus_der(minusepsilon,kappa,theta, sigma,rho, c)\n",
    "    \n",
    "    return [y_0,y_1]\n",
    "\n",
    "\n",
    "def long_short_open(rho,kappa,theta,sigma, c):\n",
    "    return optimize.root(long_short_open_function,[-0.18,1.5 ], args=(rho, kappa, theta, sigma, c,), method = 'hybr').x\n",
    "\n",
    "\n",
    "def long_open(rho,kappa,theta,sigma, c):\n",
    "    return short_close(rho,kappa,theta,sigma, c)\n",
    "\n",
    "\n",
    "def short_open(rho,kappa,theta,sigma, c):\n",
    "    return long_close(rho,kappa,theta,sigma, c)\n",
    "\n",
    "\n",
    "\n",
    "# generalize the process of simulating the algorithm\n",
    "start_time = string_to_micro(\"9:30\")\n",
    "end_time = string_to_micro(\"16:00\")\n",
    "dates = ['20170508', '20170509', '20170510', '20170511', '20170512']\n",
    "\n",
    "\n",
    "pca_tickers = ['AAPL', 'MSFT', 'GOOGL', 'FB', 'INTC', 'CSCO', 'NVDA', \n",
    "               'ADBE', 'TXN', 'AVGO', 'QCOM', 'MU', 'BIDU']\n",
    "\n",
    "tickers = ['AAPL', 'INTC', 'NVDA', 'TXN', 'QCOM', 'MU']\n",
    "\n",
    "pca_weights = [0.20616074, 0.29121571, 0.28953237, 0.25233613, 0.31817724,\n",
    "                 0.28766794, 0.24683757, 0.30186135, 0.31492926, 0.29388122,\n",
    "                 0.27183746, 0.27004335, 0.23829469]\n",
    "pca_weights = pca_weights / np.sum(pca_weights)\n",
    "\n",
    "rho = 1.9\n",
    "c = 0\n",
    "interval = '9s'\n",
    "training_size = 279\n",
    "print(rho, interval, training_size)\n",
    "avg_dollar_trade = 0\n",
    "pnl_aggregate = {}\n",
    "\n",
    "for ticker1 in tickers:   \n",
    "    pnl = []         \n",
    "    buy_dollars = 0\n",
    "    sell_dollars = 0\n",
    "    trades = 0\n",
    "    shares = {}\n",
    "    for tick in pca_tickers:\n",
    "        shares[tick] = {'B': 0, 'S': 0}\n",
    "        \n",
    "    for date in dates:\n",
    "        sim = Simulator(Ave_Lee)\n",
    "        (pnl, buy_dollars, sell_dollars, trades, shares) = sim.run(date, pca_tickers, use_om=True, \n",
    "                start_time=start_time, end_time=end_time, pnl=pnl, buy_dollars=buy_dollars, \n",
    "                sell_dollars=sell_dollars, interval=interval, training_size=training_size, \n",
    "                trades=trades, pca_weights=pca_weights, shares=shares, ticker1=ticker1, rho=rho, c=c)\n",
    "        \n",
    "    plot_graph(pnl, ticker1, 'PCA')\n",
    "    print('Number of trades: ' + str(trades))\n",
    "    if trades > 0:   \n",
    "        dollar_trade = pnl[-1] / (10000 * trades)  \n",
    "        print('Dollar per trade: ' + str(dollar_trade))        \n",
    "    pnl_aggregate[ticker1] = pnl\n",
    "    avg_dollar_trade += dollar_trade / len(tickers)\n",
    "print(avg_dollar_trade)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c63e890>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(pnl_aggregate['AAPL'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "# all stocks pnl's together\n",
    "pnl_simul = np.zeros((len(pnl_aggregate['AAPL']),1))\n",
    "for ticker in pnl_aggregate.keys():\n",
    "    pnl_simul += np.asarray(pnl_aggregate[ticker]).reshape(-1,1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c5f1e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(pnl_simul)\n",
    "plt.title('Aggregated PnL')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "pnl_diff = np.diff(pnl_simul[585:], axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f112c87c3d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(pnl_diff, bins=200)\n",
    "plt.axis([-5, 5, 0, 10000])\n",
    "plt.title('Histogram of PnL changes')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0067493708071706526"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.mean(pnl_diff)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python2",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
